繁体   English   中英

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

[英]Excel contents into SQL Server table using Visual Studio 2008

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

我正在使用VS2008和SQL Server 2005。

我写了打开文件的代码,当然,并在.cs文件中创建了dataTable及其dataColumns。 我该怎么办?

谢谢。

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

让我知道您是否有不同的要求。

您可以按照克里希纳(Krishna)的建议进行操作...但是,只有在excel文件中的列和数据库列的数目和顺序相同时,该代码才起作用。 为了便于维护和简化映射,我强烈建议您结合使用Linq to Excel和Linq to SQL,如本文所述:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM