使用Gembox.Spreadsheet加载.xlsx时出错

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

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

我尝试用Gembox示例页面上下载的一个.xlsx文件replace电子表格的path,但没有任何更改。 目前我打开Excel工作簿的唯一方法是加载文件的.xls版本。

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

EDIT2:我不能在另一个解决scheme中重现问题,所以我认为我的软件的另一部分是我的问题负责

这是一个处理的exception,GemBox.Spreadsheet内部会抛出并处理该exception,以确定它是否是encryption的XLSX。

需要两件事才能让您在Visual Studio中收到该错误。

  1. “debugging” – >“选项…”对话框中,在“debugging” – >“常规”部分下,您需要禁用“启用我的代码”设置。
  2. “debugging” – >“Windows” – >“exception设置”对话窗口中的“公共语言运行时例外”类别节点下,需要启用“<所有公共语言运行时例外>”设置。

为了解决这个问题,您可以启用“启用我的代码”设置或禁用“<所有公共语言运行时例外不在此列表>”设置。

作为参考,来自MSDN :

如果你检查一个给定的exception,不论是处理还是未处理,debugging器的执行都会中断抛出exception。 此时此例外被称为第一次机会例外。