OpenXml SpreadsheetDocument.Open(..)获取异常-缺少主要部分

本文关键字:异常 Open SpreadsheetDocument 获取 OpenXml | 更新日期: 2023-09-27 17:59:38

我有一个带标题的xlsx文档,它位于我的项目路径中。我想使用OpenXML插入数据,但在打开文件时遇到异常:

using (SpreadsheetDocument myDoc = SpreadsheetDocument.Open(MyxlsFileName, true))
{
    // ...
}

例外:

"指定的包无效。缺少主要部分"

例外情况的含义是什么?哪里出了问题?

提前感谢!

OpenXml SpreadsheetDocument.Open(..)获取异常-缺少主要部分

虽然这可能非常明显,但我也遇到了这种情况:另一种可能触发excact相同错误的情况是文件名错误。所以,检查一下你是否真的有正确的路径,对我来说,我最终得到了一个新创建的文件(拼写错误),但仍然得到了同样的错误。

您无法使用OpenXml打开XLS文件。您必须使用Microsoft Excel 2007或更新版本将Excel文件另存为XLSX文件。(假设您在这里使用的是正确的文件扩展名…)

具有XLS扩展名的文件是专有的二进制格式,无法使用OpenXML进行处理。

所以你有两个选择:

  1. 在处理XLS文件之前,请手动将其转换为XLSX
  2. 查找库或API来处理XLS文件

尝试使用SpreadsheetDocument.创建

而不是"打开"