Asp.net 如何将excel工作表中的值插入SQLServer2005

Asp.net 如何将excel工作表中的值插入SQLServer2005,asp.net,Asp.net,我有一个excel工作表,我尝试将excel工作表上载到sqlserver,所有工作表都具有相同的列名称。 现在我不想在我的项目中添加dll文件作为web引用。 而是将dll放在文件夹中,并在.cs端动态调用它们。 现在我正在这样做 var assembly=assembly。LoadFrom@d:\abc\microsoft.office.interop.excel.dll 现在在我的.cs页面中,我需要生成动态加载的excel dll的这个属性或方法 microsoft.OfficeC.in

我有一个excel工作表,我尝试将excel工作表上载到sqlserver,所有工作表都具有相同的列名称。 现在我不想在我的项目中添加dll文件作为web引用。 而是将dll放在文件夹中,并在.cs端动态调用它们。 现在我正在这样做

var assembly=assembly。LoadFrom@d:\abc\microsoft.office.interop.excel.dll

现在在我的.cs页面中,我需要生成动态加载的excel dll的这个属性或方法

microsoft.OfficeC.interop.excel.applicationClass excel=null

因此,动态加载excel dl后,我需要将excel工作表中的值发送到SQLServer2005

有没有办法做到这一点 谢谢你

你不能用吗?
i、 e创建一个存储过程,该存储过程采用要插入到给定表中的excel文件的路径。使用其中的OPENROWSET函数获取excel工作表。

另一个选项是可能使用SSIS来完成此SQL Server集成服务。您将拥有更大的灵活性,并可以将其转化为一个小型ETL项目

您还可以使用Excel代码通过按钮或宏将数据传输到数据库。只有在可以控制Excel文件的情况下,这才有效


只是抛出其他选项。

首先将链接服务器添加到数据库实例中

Exec sp_dropServer 'myExcel',@droplogins='dropLogins'    
EXEC sp_addlinkedserver 'myExcel',
       'ACE 12.0',
       'Microsoft.ACE.OLEDB.12.0',
       'D:\SAABZX01D\EXCEL_books\ExpressLane\LMI\client carrier conversion.xls',
       NULL,
       'Excel 12.0'
exec sp_linkedServers
然后在数据库中插入myTable

Insert myTable(cola,colb,colc)
select cola,colb,colc from openQuery(myExcel,'select cola,colb,colc) from sheet1$')

您可以像打开数据库一样打开excel文件。在此之后,您可以将数据加载到一些数据集中。我希望您知道如何使用数据集并将所有数据上载到SqlServer数据库,或者加载到一些自定义结构中,如果需要,更新一些数据并将其插入SqlServer数据库

使用office互操作dll时要小心。我最近没有经常使用它,但它在web服务器上崩溃并消耗了大量内存,这让我很头疼。