使用Visual Studio 2008将Excel内容导入到SQL Server表中

使用Visual Studio 2008将Excel内容导入到SQL Server表中

问题描述:

我正在创建一个应用程序,其中用户单击按钮,浏览Excel文件并将数据复制到数据库中创建的数据表中。使用Visual Studio 2008将Excel内容导入到SQL Server表中

我使用VS2008和SQL Server 2005

我写代码开放课程的文件,并在cs文件中创建一个DataTable及其dataColumns。我还应该做什么?

谢谢。

+0

看一看我的answere [这里](HTTP:/ /stackoverflow.com/questions/4942464/excel-to-datatable/4942571#4942571) – Willem

您可以编写下面的代码中的数据转储到SQL Server表

string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("ImportFile.xls") + ";Extended Properties=""Excel 8.0;HDR=Yes;"""; 
    using (OleDbConnection connection = new OleDbConnection(excelConnectionString)) 
    { 
     OleDbCommand command = new OleDbCommand("Select * FROM [NameOfTheDataSheet$]", connection); 
     connection.Open(); 

     using (DbDataReader dataReader = command.ExecuteReader()) 
     { 
      string sqlConnectionString = "SQL Connection String"; 
      using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString)) 
      { 
       bulkCopy.DestinationTableName = "ExcelDataTable"; 
       bulkCopy.WriteToServer(dataReader); 
      } 
     } 
    } 

让我知道,如果你有不同的要求。

你可以像克里希纳建议的那样做,但只有在excel文件和数据库列中的列在数量和顺序上相同的情况下,该代码才能工作。为了便于维护和映射下来,我强​​烈建议行使用的LINQ到Excel和LINQ组合到SQL在这篇文章中:

http://solidcoding.blogspot.com/2008/01/linq-to-excel-sql-import.html