我有一个包含将数据导出到Excel的应用程序。它在大多数计算机上都能正常工作。但是,有两个会抛出
呼叫被呼叫者拒绝。 (来自HRESULT的异常:0x80010001(RPC_E_CALL_REJECTED))
当我尝试使用get_item()
打开工作表时。有趣的是,当我设置断点并逐个字符串地执行所有操作时,没有任何异常。一切正常且流畅。但是在正常的工作行为中,它只是给出了例外。
MyApp = new Excel.Application();
MyApp.Visible = false;
string FileFullPath = Path.GetFullPath("Resources/Excel/FullMonthlyAct.xls");
MyBook = MyApp.Workbooks.Open(FileFullPath);
MySheet = (Excel.Worksheet)MyBook.Worksheets.get_Item(1);
Excel.Range excelCell = MySheet.Cells[1, 1] as Excel.Range;
更新: 它不是上述问题的重复。在那里,大多数答案告诉您检查Office激活/安装/文件关联。正如我在Hans Passant的帮助下发现的那样,我收到此错误的原因仅仅是因为Excel无法及时加载工作簿。
更新:已解决 可能不是最优雅的解决方案,但是可以等到Excel打开https://stackoverflow.com/a/54126361/1442373中Joost中所述的工作簿。
答案 0 :(得分:-1)
您的应用程序将在所有已安装excel并已正确激活的计算机上运行。由于这些机器可能尚未正确激活Microsoft excel,因此无法在这些机器上工作。您需要确保已解决问题。