可否帮助我,将运行在Win Server 2003 32位中的此应用程序迁移到Win服务器时,我的ASP.NET应用程序无法导入Excel文件2008年的64位环境。 如何解决这个错误?因为在Win Server 2003 32位中,它运行正常。在Win Server 2008 64位运行时出现ASP.NET应用程序错误64位
出现的错误报告是: * System.Runtime.InteropServices.COMException(0x800A03EC):从HRESULT异常:0x800A03EC在Microsoft.Office.Interop.Excel.Workbooks.Open(字符串文件名,对象UpdateLinks,对象只读,Object格式,对象密码,对象WriteResPassword,对象IgnoreReadOnlyRecommended,对象来源,对象分隔符,对象可编辑,对象通知,对象转换器,对象AddToMru,对象本地,对象CorruptLoad)在Admin_ImportRisk.CreateTempTable()在C:\ inetpub \ wwwroot \ ERMApproval \管理员\ ImportRisk.aspx.vb:线66 *
在我的申请的第66行的代码是: oBooks.Open(使用Server.Mappath( “〜/ App_Data文件/ Risk.xls”))
我尝试了好几种方案:
添加的网络服务用户在DCOM配置Microsoft Excel应用程序,并设置在以前是同一应用程序池的身份。
将所有类型的用户添加到Microsoft Excel应用程序和我的计算机中以安全的DCOM配置。我也在应用程序的文件夹中添加了许多类型的用户。
二手corflags.exe迫使32位应用程序以在64位的环境中运行
用于REGSVR32.EXE到Microsoft.Office.Interop.Excel.dll文件注册到窗口32位组件服务。
二手RUNDLL32.EXE运行32位Microsoft.Office.Interop.Excel.dll文件中的32位环境
但结果还是一样。 如果你能帮助我,这将是一大荣誉^^。 此致敬礼, -imanuel-
Thx为答案^^,但我已尝试上个月给你的链接。但它仍然没有效果。该项目设置是不是只发生在桌面应用程序?我的应用程序是一个ASP。NET网络应用程序,因此没有项目设置可以设置。有关更多信息,我已将我的应用程序使用的应用程序池设置为在32位环境中运行,但它仍然相同 –