【发布时间】:2009-12-28 08:39:09
【问题描述】:
我需要使用 ASP.NET 将数据从 Excel 导入到 Sql Server。我该怎么做?
【问题讨论】:
-
是否需要通过 ASP.net 来完成?如果是一次性导入,您可以使用 DTS 向导。
-
通过 Asp.net 代码。我需要正确的代码。
标签: asp.net sql-server vb.net excel
我需要使用 ASP.NET 将数据从 Excel 导入到 Sql Server。我该怎么做?
【问题讨论】:
标签: asp.net sql-server vb.net excel
您可以使用 ADO.net OLEDB 数据源。您可以像通常为 MS Access 所做的那样获取记录。 看看例子..
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;
}
导入后,您可以从数据表中挑选数据并使用 ADO.net Sql 操作执行插入操作
【讨论】:
我假设您希望您的用户上传 Excel 文档,然后必须将其导入 SQL 服务器。如果是这样,您可以尝试使用一些第三方库打开 xls 文件并逐行读取数据,insert将其放入适当的表中,或者将 Excel 本身安装在 Web 服务器上(不是好主意)并将其用作 ODBC 数据源。
【讨论】:
除了使用 ODBC 数据源之外,您还可以要求您的用户将该 Excel 文件导出为 CSV 并手动导入。
【讨论】: