我开发了一个asp.net应用程序。在那个应用程序中,我创建了Interop对象,在我的帮助下我打开了一个Excel文件。这个东西在Local系统上运行正常。但是当我尝试从Localhost IIS服务器打开应用程序时,它向我显示Microsoft Excel无法访问该文件的错误。我使用了以下代码。
addBatch.WA = new Excel.Application();
addBatch.workbookPath = @"D:\Barcode_Details.xlsx";
addBatch.excelWorkbook = WA.Workbooks.Open(workbookPath, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
addBatch.excelSheets = excelWorkbook.Worksheets;
答案 0 :(得分:0)
基本上,您无权访问计算机上的文件,但虚拟目录中的文件除外! 因此,您需要将excell文件放在项目目录中,例如在App_Data中,然后按如下所示更改路径
addBatch.workbookPath = Server.MapPath("~/App_Data/Barcode_Details.xlsx");
答案 1 :(得分:0)
在try catch块中添加代码,然后尝试提取错误消息
如果错误是“动态操作无法在同一个AppDomain上执行”,则转到端口号为80的Web.config文件,尝试更改信任的legacyCasModel = false level =“ Full”
如果错误是访问被拒绝为COM异常 win + r-> dcomcnfg-> componentservices->计算机-> dcom配置-> Microsoft Excel应用程序->右键单击以获取属性
通常,标签将身份验证类型更改为“无”。
我希望它能解决!我遇到了同样的问题