【问题标题】:Excel Interop Error On Workbook Open打开工作簿时出现 Excel 互操作错误
【发布时间】:2016-11-03 22:36:22
【问题描述】:

尝试打开 Excel 工作簿时出现错误:

var workbook = Workbooks.Open(filePath)

之后每次我都有:

来自 HRESULT 的异常:0x80020005 (DISP_E_TYPEMISMATCH)

有趣的是,当我在“打开”函数之前使用 Thread.Sleep(2000) 时 一切正常:

Thread.Sleep(2000);

var workbook = Workbooks.Open(filePath)

代码在主线程上运行。

有什么想法会导致这种行为吗?

谢谢!

【问题讨论】:

  • 如果 sleep 正在修复它,那么您可能需要向我们展示之前的调用,例如 DoAsyncTaskThatOpensExcelButTakesASecondBeforeItsDone(),例如 Process.Start()(粗略地说,认为它在进程存在时返回,但事实并非如此' t 表示 Excel 已准备好与之交互)。
  • 你是如何打开 Excel 的?

标签: c# excel office-interop


【解决方案1】:

我解决了这个问题。

Excel 工作簿打开了两次,每次我都调用 releaseCom 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多