OpenXml SpreadsheetDocument.Open(...)获得异常 - 主要部分缺失

时间:2014-04-23 08:38:40

标签: c# .net excel xls openxml-sdk

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

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

例外:

  

“指定的包无效。主要部分缺失”

异常的含义是什么?错误是什么?

提前感谢!

3 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

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

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

所以你有两个选择:

  1. 在处理之前手动将XLS文件转换为XLSX。
  2. 查找用于处理XLS文件的库或API。

答案 2 :(得分:-3)

尝试使用SpreadsheetDocument.Create

而不是“打开”