在ASP.NET的64位Windows平台上将Excel文件导入SQL Server的最佳方法是什么?

在64位Windows系统上将Excel文件导入到SQL Server的最佳/最stream畅的解决scheme是什么?

我特别的是从ASP.NET / C#页面导入Excel 97-2003文件到SQL 2005数据库。 导入数据会要求用户使用“模板”,所以数据看起来每次都是一样的。

以前系统使用Microsoft Jet OleDb 4.0进行这种导入,但是现在它已经转移到64位环境。 我知道Jet可以运行在64位,如果IIS运行在32位模式,但在我看来不是一个选项。

那么,这里有什么64位的替代品?

您应该使用Integration Services。 创build一个加载Excel文件的Integration Services包(相对容易的事情;甚至可以使用导入和导出向导 ),然后从asp.net调用包

您可以上传文件并将其保存在特定文件夹中,然后使用32位和后台运行的Windows服务或其他进程。 此后台进程监视上载文件夹并将新的Excel文件导入SQL Server。

缺点是你没有直接回应给用户。

我会通过读取Excel文件到一个DataTable对象,然后使用SqlBulkCopy来存储信息。 这将是快速和相对简单的代码。

另一种将Excel读入ADO.NET数据表的方法:

http://www.aspspider.com/resources/Resource510.aspx

虽然我也build议只使用SSIS包来完成这项工作。