OpenXml SpreadsheetDocument.Open(…)获取exception – 主要部分丢失
我有一个xlsx文件标题,它位于我的项目path。 我想使用OpenXML插入数据,但打开文件时出现exception:
using (SpreadsheetDocument myDoc = SpreadsheetDocument.Open(MyxlsFileName, true)) { // ... }
例外:
“指定的软件包无效,主要部分丢失”
exception的含义是什么,什么是错的?
预先感谢!
您不能用OpenXml打开XLS文件。 您必须将Excel文件保存为使用Microsoft Excel 2007或更新版本的XLSX文件。 (假设你在这里使用正确的文件扩展名…)
XLS扩展名的文件是专有的二进制格式,不能用OpenXML处理。
所以你有两个select:
- 在处理之前,将您的XLS文件手动转换为XLSX。
- find一个库或API来处理XLS文件。
虽然这可能是非常明显的,但它发生在我身上:另一种可能触发相同错误的情况是,当你得到错误的文件名。 所以检查你是否真的拥有了正确的path,对于我来说,我最终创build了一个新创build的文件(拼写错误),但仍然得到了相同的错误。
尝试使用SpreadsheetDocument.Create
而不是“打开”