Convert TXT file to SQL Server data using Bytescout Spreadsheet SDK - ByteScout

Convert TXT file to SQL Server data using Bytescout Spreadsheet SDK

  • Home
  • /
  • Articles
  • /
  • Convert TXT file to SQL Server data using Bytescout Spreadsheet SDK

How to convert TXT file to SQL Server data using Bytescout Spreadsheet SDK

These source code samples shows how to import text to SQL Server data from TXT file in VB or C# using Bytescout Spreadsheet component for .NET.

Input TXT file:

Sample TXT file to be exported to SQL Server data

Output – TXT data exported to SQL Server:

Exported text to SQL

Visual Basic .NET

Imports Bytescout.Spreadsheet

Imports System.Data.SqlClient

Class Program
    Friend Shared Sub Main(args As String())

        Try
            ' MODIFY THE CONNECTION STRING WITH YOUR CREDENTIALS!!!
            Dim connectionString As String = "Data Source=localhost;Initial Catalog=master;Integrated Security=true;"

            Using connection As New SqlConnection(connectionString)
                connection.Open()

                ' Drop test database if exists
                ExecuteQueryWithoutResult(connection, "IF DB_ID ('TxtTests') IS NOT NULL DROP DATABASE TxtTests")
                ' Create empty database
                ExecuteQueryWithoutResult(connection, "CREATE DATABASE TxtTests")

                ' Switch to created database
                ExecuteQueryWithoutResult(connection, "USE TxtTests")
                ' Create a table for TXT data
                ExecuteQueryWithoutResult(connection, "CREATE TABLE TxtTest (Name VARCHAR(40), FullName VARCHAR(255))")

                ' Load TXT document
                Using document As New Spreadsheet("sample.txt", vbTab) ' vbTab - TAB delimiter

                    Dim worksheet As Worksheet = document.Workbook.Worksheets(0)

                    For row As Integer = 0 To worksheet.UsedRangeRowMax
                        Dim insertCommand As [String] = String.Format("INSERT TxtTest VALUES('{0}','{1}')", worksheet.Cell(row, 0).Value, worksheet.Cell(row, 1).Value)

                        ExecuteQueryWithoutResult(connection, insertCommand)
                    Next
                End Using

                ' Check the data successfully exported

                Using command As New SqlCommand("SELECT * from TxtTest", connection)
                    Dim reader As SqlDataReader = command.ExecuteReader()

                    If reader IsNot Nothing Then
                        Console.WriteLine()
                        Console.WriteLine("Exported TXT data:")

                        Console.WriteLine()

                        While reader.Read()

                            Console.WriteLine([String].Format("{0}  |  {1}", reader(0), reader(1)))

                        End While
                    End If
                End Using

                Console.WriteLine()

                Console.WriteLine("Press any key.")
                Console.ReadKey()
            End Using
        Catch ex As Exception
            Console.WriteLine("Error: " & ex.Message)

            Console.ReadKey()
        End Try
    End Sub

    Private Shared Sub ExecuteQueryWithoutResult(connection As SqlConnection, query As String)

        Using command As New SqlCommand(query, connection)
            command.ExecuteNonQuery()

        End Using
    End Sub
End Class

Visual C#

using System;
using Bytescout.Spreadsheet;
using System.Data.SqlClient;

namespace ExportToSQLServer
{
class Program
{
static void Main(string[] args)

{
try
{
// MODIFY THE CONNECTION STRING WITH YOUR CREDENTIALS!!!
string connectionString = “Data Source=localhost;Initial Catalog=master;Integrated Security=true;”;

using (SqlConnection connection = new SqlConnection(connectionString))
{

connection.Open();

// Drop test database if exists
ExecuteQueryWithoutResult(connection,

“IF DB_ID (‘TxtTests’) IS NOT NULL DROP DATABASE TxtTests”);
// Create empty database
ExecuteQueryWithoutResult(connection, “CREATE DATABASE TxtTests”);

// Switch to created database
ExecuteQueryWithoutResult(connection, “USE TxtTests”);
// Create a table for TXT data

ExecuteQueryWithoutResult(connection,
“CREATE TABLE TxtTest (Name VARCHAR(40), FullName VARCHAR(255))”);

// Load TXT document

using (Spreadsheet document = new Spreadsheet(“sample.txt”, “t”)) // t – TAB delimiter

{
Worksheet worksheet = document.Workbook.Worksheets[0];

for (int row = 0; row <= worksheet.UsedRangeRowMax; row++) { String insertCommand = string.Format("INSERT TxtTest VALUES('{0}','{1}')", worksheet.Cell(row, 0).Value, worksheet.Cell(row, 1).Value); ExecuteQueryWithoutResult(connection, insertCommand); } } // Check the data successfully exported using (SqlCommand command = new SqlCommand("SELECT * from TxtTest", connection)) { SqlDataReader reader = command.ExecuteReader(); if (reader != null) { Console.WriteLine(); Console.WriteLine("Exported TXT data:"); Console.WriteLine(); while (reader.Read()) { Console.WriteLine(String.Format("{0} | {1}", reader[0], reader[1])); } } } Console.WriteLine(); Console.WriteLine("Press any key."); Console.ReadKey(); } } catch(Exception ex) { Console.WriteLine("Error: " + ex.Message); Console.ReadKey(); } } static void ExecuteQueryWithoutResult(SqlConnection connection, string query) { using (SqlCommand command = new SqlCommand(query, connection)) { command.ExecuteNonQuery(); } } } } [/vb]

Tutorials:

prev
next