Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenXml SpreadsheetDocument.Open(...) get exception - The main part is missing

I have an xlsx doc with headers and it is located in my project path. I want to insert data using OpenXML but I get an exception while opening the file:

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

The exception:

"The specified package is invalid. The main part is missing"

What is the meaning of the exception and what is wrong?

Thank in advance!

like image 747
Shir Avatar asked Apr 23 '14 08:04

Shir


1 Answers

You cannot open XLS files with OpenXml. You must save your Excel file as an XLSX file using Microsoft Excel 2007 or newer. (Assuming you are using the correct file extension here...)

Files with XLS extension are in a proprietary binary format which cannot be processed with OpenXML.

So you have two options:

  1. Convert your XLS files to XLSX manually before processing them.
  2. Find a library or API to process XLS files.
like image 148
helb Avatar answered Oct 05 '22 23:10

helb