2

我有以下问题:当我尝试加载基于 XML 的 Excel 文件 (.xlsx) 时,即使我将其设置LoadOptionXlsxDefault程序也会引发错误 Reading error: file is not a valid OLE2 Compound File."

如果我尝试加载工作簿的.XLS 导出版本,它不会抛出任何异常,似乎ExcelFile.Load方法无法打开基于 xml 的 excel 文件。

我试图用在Gembox 示例页面上下载的一个 .xlsx 文件替换我的电子表格的路径,但它没有改变任何东西。目前我打开 Excel 工作簿的唯一方法是加载文件的 .xls 版本。

编辑:我可以用 excel 打开 .xlsx 文件,没有任何问题

EDIT2:我无法在另一个解决方案中重现该问题,所以我认为我的软件的另一部分负责我的问题

4

1 回答 1

0

这是一个已处理的异常,GemBox.Spreadsheet 在内部会抛出并处理该异常,以确定它是否是加密的 XLSX。

为了让您在 Visual Studio 中收到该错误,需要做两件事。

  1. “调试”->“选项...”对话框窗口的“调试”->“常规”部分下,您需要禁用“仅启用我的代码”设置。
  2. “调试”->“Windows”->“异常设置”对话框窗口中,“公共语言运行时异常”类别节点下,您需要启用“<所有不在此列表中的公共语言运行时异常>”设置。

为了解决这个问题,您可以启用“仅启用我的代码”设置或禁用“<All Common Language Runtime Exceptions not in this list>”设置。

作为一个仅供参考,来自MSDN

如果您检查给定的异常,调试器执行将在抛出异常的任何地方中断,无论它是已处理还是未处理。在这一点上,异常被称为第一次机会异常。

于 2017-09-07T06:34:37.053 回答