我怎样才能使用ASP.NET将数据从MS-Excel导入到Sql Server?

我需要使用ASP.NET将数据从Excel导入到Sql Server。 我怎样才能做到这一点?

您可以使用ADO.net OLEDB数据源。 您可以像往常一样为MS Access获取logging。 看看这个例子..

public static DataTable SelectAll() { string conString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + @"\YourExcellfile.xls;Extended Properties=""Excel 8.0;HDR=Yes"";"; OleDbConnection oleConnection = new OleDbConnection(conString); OleDbCommand oleCommand = new OleDbCommand("select * from [YourSheet1$]", oleConnection); OleDbDataAdapter adapter = new OleDbDataAdapter(oleCommand); oleConnection.Open(); DataTable dt = new DataTable(); adapter.Fill(dt); oleConnection.Close(); return dt; } 

导入后,您可以从数据表中select数据,并使用ADO.net Sql操作执行插入操作

看一下

  • 使用input的数据集和表格适配器导入Excel电子表格:构build数据库
  • 使用SqlBulkCopy将Excel电子表格数据导入到SQL Server数据库表中
  • Asp.Net Excel文件导入并传输到Sql Server

我假设你想让你的用户上传一个Excel文档,然后导入到SQL服务器。 如果是这样的话,你可以尝试一些第三方库来打开xls文件,逐行读取数据, insert其插入到适当的表格中,或者将Excel本身安装到Web服务器上(不是一个好主意)并将其用作ODBC数据源。

除了使用ODBC数据源之外,还可以要求用户将该Excel文件导出为CSV并手动导入。