【问题标题】:OpenXmlSDK create xlsx ClosedXml can't read, but NPOI,Epplus can read, and show message `The specified package is invalid. The main part is missing.`OpenXmlSDK create xlsx ClosedXml 无法读取,但NPOI,Epplus 可以读取,并显示消息`指定的包无效。主要部分不见了。
【发布时间】:2021-03-02 10:12:42
【问题描述】:

OpenXmlSDK create xlsx ClosedXml 无法读取,但NPOI,Epplus 可以读取,并显示消息The specified package is invalid. The main part is missing.

ClosedXml 代码:

void Main()
{
    var path = @"C:\Users\Wei\AppData\Local\Temp\099e17f7-a98b-42d5-8b75-4e6775914f9c.xlsx";
    using (var workbook = new XLWorkbook(path))
    {
        var worksheet = workbook.Worksheets.First();
        var cells = worksheet.Cells();
    }
}

消息:指定的包无效。主要部分不见了。 来源:DocumentFormat.OpenXml
堆栈跟踪:

   at DocumentFormat.OpenXml.Packaging.OpenXmlPackage.Load()
   at DocumentFormat.OpenXml.Packaging.OpenXmlPackage.OpenCore(String path, Boolean readWriteMode)
   at DocumentFormat.OpenXml.Packaging.SpreadsheetDocument.Open(String path, Boolean isEditable, OpenSettings openSettings)
   at DocumentFormat.OpenXml.Packaging.SpreadsheetDocument.Open(String path, Boolean isEditable)
   at ClosedXML.Excel.XLWorkbook.LoadSheets(String fileName) in C:\projects\closedxml\ClosedXML\Excel\XLWorkbook_Load.cs:line 42
   at ClosedXML.Excel.XLWorkbook.Load(String file) in C:\projects\closedxml\ClosedXML\Excel\XLWorkbook_Load.cs:line 33
   at ClosedXML.Excel.XLWorkbook..ctor(String file, XLEventTracking eventTracking) in C:\projects\closedxml\ClosedXML\Excel\XLWorkbook.cs:line 718
   at ClosedXML.Excel.XLWorkbook..ctor(String file) in C:\projects\closedxml\ClosedXML\Excel\XLWorkbook.cs:line 709
   at UserQuery.Main() in C:\Users\Wei\AppData\Local\Temp\LINQPad6\_zeygkceo\zmngrx\LINQPadQuery:line 5
   at LINQPad.ExecutionModel.ClrQueryRunner.Run()
   at LINQPad.ExecutionModel.Server.RunQuery(QueryRunner runner)

我已经尝试解压缩 xlsx 文件,如下所示:

文件夹树和链接:https://github.com/shps951023/MyFiles/tree/master/2021-03-02/099e17f7-a98b-42d5-8b75-4e6775914f9c

│  [Content_Types].xml
│
├─xl
│  │  sharedStrings.xml
│  │  styles.xml
│  │  workbook.xml
│  │
│  ├─worksheets
│  │      sheet1.xml
│  │
│  └─_rels
│          workbook.xml.rels
│
└─_rels
        .rels

Xlsx 链接:https://github.com/shps951023/MyFiles/blob/master/2021-03-02/099e17f7-a98b-42d5-8b75-4e6775914f9c.xlsx

【问题讨论】:

    标签: .net openxml closedxml


    【解决方案1】:

    因为 ZipArchiveEntry 创建 xlsx 时没有 CompressionOption 和 ContentType 以及 Uri 和 Package 信息。

    所以我用System.IO.Packaging.ZipPackage可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-31
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 2021-05-11
      • 1970-01-01
      • 2011-01-12
      • 2016-02-13
      相关资源
      最近更新 更多