【问题标题】:Excel contents into SQL Server table using Visual Studio 2008使用 Visual Studio 2008 将 Excel 内容导入 SQL Server 表
【发布时间】:2011-11-13 00:52:53
【问题描述】:

我正在创建一个应用程序,用户单击一个按钮,浏览一个 Excel 文件,然后将数据复制到数据库中创建的数据表中。

我正在使用 VS2008 和 SQL Server 2005。

当然,我编写了打开文件的代码,并在 .cs 文件中创建了一个 dataTable 及其 dataColumns。我还应该做什么?

谢谢。

【问题讨论】:

  • 看看我的回答here

标签: c# visual-studio-2008 sql-server-2005 excel


【解决方案1】:

您可以按照 Krishna 的建议进行操作...但该代码仅在 excel 文件中的列和数据库列的数量和顺序相同时才有效。为了便于维护和映射,我强烈建议您使用 Linq to Excel 和 Linq to SQL 的组合,如本文所述:

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

【讨论】:

    【解决方案2】:

    你可以像下面这样编写代码来将数据转储到 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);
                }
            }
        }
    

    如果您有不同的要求,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多