Excel Interop Workbook。打开不一致

时间:2017-06-19 20:13:30

标签: c# excel excel-interop

我有一个打开多个工作簿的进程

var exApp = new Excel.Application(); 
Excel.Workbook ONE;
Excel.Workbook TWO;
Excel.Workbook THREE;
ONE = exApp.Workbooks.Open(ONELocation);
TWO = exApp.Workbooks.Open(TWOLocation);
THREE = exApp.Workbooks.Open(THREELocation);
Console.WriteLine("All Excel workbooks opened successfully\n");

有时它运行没有问题。

有时虽然我在崩溃时遇到以下异常

  

System.Runtime.InteropServices.COMException:'远程过程调用失败。 (来自HRESULT的异常:0x800706BE)'

异常发生在不同的工作簿上,有时甚至完全没有。如果在重新运行几次后发生,则该过程成功完成并正确处理所有数据。

为什么它有时会起作用而不起作用?有没有更好的方法来打开这些工作簿?我该如何阻止这种情况发生?

1 个答案:

答案 0 :(得分:2)

RPC_S_CALL_FAILED确实是根本原因,正如question用户xxbbcc所指出的那样,作为可能的重复链接。

然而,那只是告诉我原因并没有解决问题。 我使用excel一词用RPC_S_CALL_FAILED搜索了SuperUser question

我按照问题中的描述禁用了" FoxitReader PDF Creator COM加载项" ,我的程序现在一直运行且没有错误。

  

如何禁用插件:Excel>文件>选项>加载项>管理,然后选择" COM加载项" >走。然后解开有问题的插件。