Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 关闭Excel.工作簿时出现异常(0x80010108-RPC_E_已断开连接)_Vb.net_Excel_Interop_Com Interop_Excel Interop - Fatal编程技术网

Vb.net 关闭Excel.工作簿时出现异常(0x80010108-RPC_E_已断开连接)

Vb.net 关闭Excel.工作簿时出现异常(0x80010108-RPC_E_已断开连接),vb.net,excel,interop,com-interop,excel-interop,Vb.net,Excel,Interop,Com Interop,Excel Interop,当我运行以下代码时,我得到以下异常: ''# NOTE: ExcelApp is a Private main form variable Dim ReportBooks As Excel.Workbooks = ExcelApp.Workbooks Dim ReportBook As Excel.Workbook = ReportBooks.Open(localFilename) Dim ReportSheet As Excel.Worksheet = ReportBook.Sheets("R

当我运行以下代码时,我得到以下异常:

''# NOTE: ExcelApp is a Private main form variable
Dim ReportBooks As Excel.Workbooks = ExcelApp.Workbooks
Dim ReportBook As Excel.Workbook = ReportBooks.Open(localFilename)
Dim ReportSheet As Excel.Worksheet = ReportBook.Sheets("Report")

''# Retreive data from sheet

ReleaseCOM(ReportSheet)
ReportBook.Close(True) ''# Error raised here
ReleaseCOM(ReportBook)
ReleaseCOM(ReportBooks)
注意:所有数据似乎都已正确检索


请帮助我诊断并克服此错误。

根据您显示的代码,我无法说明失败的原因

您是否考虑过从使用COM互操作的Excel自动化切换到第三方组件

将允许您加载Excel工作簿并获取值/获取格式化文本/重新计算公式/等等。。。没有与COM互操作相关的问题

如果您想亲自试用,您可以查看ASP.NET的实时示例并下载免费试用版


免责声明:我拥有SpreadsheetGear LLC

RPC_DISCONNECTED…可怕的“调用的对象已与其客户端断开连接。”问题。这有很多原因,看起来您已经用
Excel解决了全局变量问题。
。你能把第一个
ReleaseCOM(ReportSheet)
放在
ReportBook(Close)
下面并运行它吗?另外,请检查。

不幸的是,将导致错误的行与之前的行进行交换没有任何效果。当试图关闭工作表时,程序仍然崩溃。伙计,很抱歉听到这个消息。我处理过几次这个问题,它总是像巫术一样让它发挥作用。这里的主要问题是,当您进入
ReportBook.Close(True)
Excel不再管理ReportBook时,有东西正在释放它,因此出现了错误。您是否尝试过在ReportBook中添加一个手表的调试代码步骤?明白了!代码步进有效。我的代码意外地打开了同一个文件两次并关闭了两次(一次在第二次关闭时崩溃)。谢谢你的帮助。很高兴听到这个。那个特别的错误真的很令人沮丧,所以你把事情解决了真是太好了!你必须对你的定价做些什么$1000对于一个组件来说是错误的。如果你可以使用xlsx,那么还有免费的EPPlus!
ERROR:
COMException was unhandled
The object invoked has disconnected from its clients.
(Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))