Convert XLS to SQL Server using Bytescout Spreadsheet SDK

How to convert XLS to SQL Server data using Bytescout Spreadsheet SDK for .NET

These samples shows how to export XLS to SQL Server data in VB and C# using Bytescout Spreadsheet SDK.
You can also check out How to convert XLS to SQL Server data via CSV BULK INSERT tutorial.

Input XLS file:

Sample XLS file to be exported to SQL Server data

Output - XLS data exported to SQL Server:

XLS file exported to SQL Server data

Visual Basic .NET

Imports System.IO
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 ('XlsTests') IS NOT NULL DROP DATABASE XlsTests")
                ' Create empty database
                ExecuteQueryWithoutResult(connection, "CREATE DATABASE XlsTests")
 
                ' Switch to created database
                ExecuteQueryWithoutResult(connection, "USE XlsTests")
                ' Create a table for XLS data
                ExecuteQueryWithoutResult(connection, "CREATE TABLE XlsTest (Name VARCHAR(40), FullName VARCHAR(255))")
 
                ' Load XLS document
                Using document As New Spreadsheet("SimpleReport.xls")
                    Dim worksheet As Worksheet = document.Workbook.Worksheets(0)
 
                    For row As Integer = 0 To worksheet.UsedRangeRowMax
                        Dim insertCommand As [String] = String.Format("INSERT XlsTest 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 XlsTest", connection)
                    Dim reader As SqlDataReader = command.ExecuteReader()
 
                    If reader IsNot Nothing Then
                        Console.WriteLine()
                        Console.WriteLine("Exported XLS 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 System.IO;
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 ('XlsTests') IS NOT NULL DROP DATABASE XlsTests");
                    // Create empty database
                    ExecuteQueryWithoutResult(connection, "CREATE DATABASE XlsTests");
 
                    // Switch to created database
                    ExecuteQueryWithoutResult(connection, "USE XlsTests");
                    // Create a table for XLS data
 
                    ExecuteQueryWithoutResult(connection,
                                              "CREATE TABLE XlsTest (Name VARCHAR(40), FullName VARCHAR(255))");
 
                    // Load XLS document
 
                    using (Spreadsheet document = new Spreadsheet("SimpleReport.xls"))
 
                    {
                        Worksheet worksheet = document.Workbook.Worksheets[0];
 
                        for (int row = 0; row <= worksheet.UsedRangeRowMax; row++)
 
                        {
                            String insertCommand = string.Format("INSERT XlsTest 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 XlsTest", connection))
 
                    {
                        SqlDataReader reader = command.ExecuteReader();
 
                        if (reader != null)
 
                        {
                            Console.WriteLine();
                            Console.WriteLine("Exported XLS 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();
            }
        }
 
    }
}

 

Filed in: Spreadsheet SDK

Tutorials: