Asp.net 如何将excel工作表中的值插入SQLServer2005
我有一个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 有没有办法做到这一点 谢谢你你不能用吗?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
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服务器上崩溃并消耗了大量内存,这让我很头疼。