UTILITA' - Export excel data into sql server using c# (SqlBulkCopy) 05/11/2011 14:48:41
SqlBulkCopy: Consente un efficiente caricamento di massa di una tabella di SQL Server con i dati di un'altra origine.
Esistono altri modi per caricare i dati in una tabella di SQL Server, ad esempio le istruzioni INSERT, ma la classe SqlBulkCopy offre prestazioni sensibilmente superiori rispetto agli altri.

Nell'applicazione console riportata di seguito viene illustrato come caricare i dati utilizzando la classe SqlBulkCopy.

public void Exel2Sql()
{
OdbcConnection connection;
SqlBulkCopy bulkCopy;
string ConnectionString = @”server=..\\sqlexpress;database=pubs;uid=sa;pwd=1234;”;
string connstr = @”Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=c:\contact.xls”;
using (connection = new OdbcConnection(connstr))
{
OdbcCommand command = new OdbcCommand(”Select * FROM [Sheet1$]“, connection);


//you can change [Sheet1$] with your sheet name

connection.Open();

// Create DbDataReader to Data Worksheet

using (OdbcDataReader dr = command.ExecuteReader())
{
// Bulk Copy to SQL Server

using (bulkCopy = new SqlBulkCopy(ConnectionString))
{
bulkCopy.DestinationTableName = “Names”;
//”Names” is the sql table where you want to copy all data.

bulkCopy.WriteToServer(dr);
}
dr.Close();
}
}
bulkCopy.Close();
connection.Close();
}
12
Copyright (c) 2010 ilcorsaronero. All rights reserved.