在x64系统上的.NET中打开Excel电子表格
我无法使用以下连接string在x64服务器上使用.NET打开Excel电子表格
“Provider = Microsoft.Jet.OLEDB.4.0; Data Source =”+ filePath +“;扩展属性= Excel 8.0;”
我得到“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。
我安装了2007 Office System Driver:Data Connectivity Components,并尝试使用Microsoft.ACE.OLEDB.12.0和此连接string
“Provider = Microsoft.ACE.OLEDB.12.0; Data Source =”+ filePath +“;扩展属性= Excel 8.0;”
并得到“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册“。
我search了唯一的答案是它是一个64位的问题,任何人有一个想法如何解决这个问题?
Excel 2003/2007 OleDB驱动程序只有32位。 我的理解是,你只能在32位应用程序中使用它们。
SpreadsheetGear for .NET将打开xls和xlsx工作簿,并在64位以及32位.NET 2.0+中进行testing和支持。
您可以在这里下载评估,并在这里看到现场ASP.NET示例(C#和VB)。
免责声明:我自己的SpreadsheetGear LLC
您的应用程序需要设置为32位应用程序运行。 这可以通过在Visual Studioconfigurationpipe理器中将可执行项目的目标平台从AnyCPU更改为x86来完成。
如果您想在更改您的解决schemeconfiguration之前testing这将如何与您的应用程序一起工作,则可以使用corflags.exe实用程序。 这只会提供你的应用程序没有强名字或Authenticode签名,否则你将需要辞职。 从Visual Studio命令提示符下键入:
corflags.exe <path and exe file name> /32BIT+