【问题标题】:error while loading .xlsx with Gembox.Spreadsheet使用 Gembox.Spreadsheet 加载 .xlsx 时出错
【发布时间】:2017-09-06 08:31:23
【问题描述】:

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

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

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

编辑:我可以毫无问题地用 excel 打开 .xlsx 文件

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

【问题讨论】:

  • 如何尝试另一个 xlsx 加载器(来自另一个库),以确保源文件是否一切正常。

标签: c# excel gembox-spreadsheet


【解决方案1】:

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

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

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

为了解决此问题,您可以启用“仅启用我的代码”设置或禁用“" 设置。

仅供参考,来自MSDN

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

【讨论】:

  • 是的,它已处理,但未创建 excelFile(或至少 .Save() 方法不起作用)
  • 你能帮我重现这个问题吗?您能否提供minimal, complete, and verifiable example 以便我进行调查?
猜你喜欢
  • 1970-01-01
  • 2012-05-28
  • 1970-01-01
  • 2014-01-31
  • 2021-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多