Thursday, December 27, 2012

Import Excel Data into a Sql Server table.


In my previous post i have shown you how to import Excel data into a DataTable. In this post i'm going to show you how to do a bulk insert from the DataTable into a Sql Server table.

First create a table in your Sql Server exactly with the column names same as the excel sheet column names you are going to import.

Now run the below method. Method accept two parameters first parameter accept the DataTable with Excel data and the second parameter accepts the table name where the will be imported in the Sql Severer.


public void BulkInsert(DataTable DT,string DestinationTableName)
        {
            using (SqlConnection Conn = new SqlConnection(connectionString))
                {
                    SqlTransaction trans;
                    Conn.Open();
                    trans = Conn.BeginTransaction();
                    try
                    {
                        using (SqlBulkCopy bulkCopy = new SqlBulkCopy(Conn, SqlBulkCopyOptions.Default, trans))
                        {
                            try
                            {
                                // The table I'm loading the data to
                                bulkCopy.DestinationTableName = DestinationTableName;
                                // How many records to send to the database in one go (all of them)
                                bulkCopy.BatchSize = DT.Rows.Count;

                                // Load the data to the database
                                bulkCopy.WriteToServer(DT);

                                // Close up        
                                bulkCopy.Close();
                                trans.Commit();
                            }
                            catch(Exception ex)
                            {
                                throw ex;
                            }
                        }

                    }
                    catch
                    {
                        trans.Rollback();

                    }
                    finally
                    {
                        trans.Dispose();
                   }
               }
        }


No comments:
Write comments
Recommended Posts × +