使用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中收到该错误。
- 在“debugging” – >“选项…”对话框中,在“debugging” – >“常规”部分下,您需要禁用“启用我的代码”设置。
- 在“debugging” – >“Windows” – >“exception设置”对话窗口中的“公共语言运行时例外”类别节点下,需要启用“<所有公共语言运行时例外>”设置。
为了解决这个问题,您可以启用“启用我的代码”设置或禁用“<所有公共语言运行时例外不在此列表>”设置。
作为参考,来自MSDN :
如果你检查一个给定的exception,不论是处理还是未处理,debugging器的执行都会中断抛出exception。 此时此例外被称为第一次机会例外。