[英]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.