I have this simple code on VB.NET that inserts data from Excel Spreed Sheet to SQL Server database, now i want the data to be inserted on my database automatically without manually calling the columnmapping.a dd. Basically, i will insert the data base on the header row on the excel spread sheet.
Here is my code..
Here is my code..
Code:
Using connection As New OleDbConnection(Excelconnection) Dim cmd1 As New OleDbCommand("SELECT * FROM [Sheet1$]", connection) connection.Open() Dim dr As OleDbDataReader = cmd1.ExecuteReader Dim sqlconnection As New SqlConnection(ServerConnectionStringProperty) sqlconnection.Open() Dim sqlbulkcopy As New SqlBulkCopy(sqlconnection) Dim destination As String = txtTableName.Text sqlbulkcopy.DestinationTableName = destination While dr.Read() sqlbulkcopy.ColumnMappings.Add(0, 13) sqlbulkcopy.ColumnMappings.Add(1, 14) sqlbulkcopy.ColumnMappings.Add(2, 15) sqlbulkcopy.ColumnMappings.Add(3, 17) sqlbulkcopy.ColumnMappings.Add(4, 26) sqlbulkcopy.ColumnMappings.Add(5, 56) sqlbulkcopy.ColumnMappings.Add(6, 57) sqlbulkcopy.ColumnMappings.Add(7, 58) sqlbulkcopy.ColumnMappings.Add(8, 61) sqlbulkcopy.ColumnMappings.Add(9, 63) sqlbulkcopy.ColumnMappings.Add(10, 59) sqlbulkcopy.ColumnMappings.Add(11, 67) sqlbulkcopy.WriteToServer(dr) Dim rowsCopied As Integer = SqlBulkCopyHelper.GetRowsCopied(sqlbulkcopy) MessageBox.Show(String.Concat(rowsCopied, " rows affected"), "Success") End While End Using