【发布时间】: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