Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Visual Studio 2008将Excel内容导入SQL Server表_C#_Visual Studio 2008_Sql Server 2005_Excel - Fatal编程技术网

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

C# 使用Visual Studio 2008将Excel内容导入SQL Server表,c#,visual-studio-2008,sql-server-2005,excel,C#,Visual Studio 2008,Sql Server 2005,Excel,我正在创建一个应用程序,用户单击按钮,浏览Excel文件,然后将数据复制到数据库中创建的数据表中 我正在使用VS2008和SQLServer2005 当然,我编写了打开该文件的代码,并在.cs文件中创建了一个dataTable及其dataColumns。我还应该做什么 谢谢。您可以像下面这样编写代码,将数据转储到SQL Server表中 string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="

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

我正在使用VS2008和SQLServer2005

当然,我编写了打开该文件的代码,并在.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);
            }
        }
    }

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

你可以按照奎师那的建议去做。。。但是,只有当excel文件中的列和数据库列的数量和顺序相同时,该代码才会起作用。为了便于维护和映射,我强烈建议您结合使用Linq到Excel和Linq到SQL,如本文所述:

看看我的答案