lel
lel

Reputation: 327

EPPlus Shows System Argument Exception

I am having issue reading in some worksheet from a workbook using C# and EPPlus.

Error Message

name contains invalid characters

Even after multiple checks on the worksheet name, file name and column headers within the workbook to make sure there is no invalid characters, I am still facing the same error.

However, when I move the worksheet that i need from that same workbook to a new Excel file and save it with the same file name and worksheet name, I have no error while reading in.

Does anybody know how to solve or even encounter this problem?

Code

 using (ExcelPackage xlPackage = new ExcelPackage(mStream))
 {
    //WorksheetId = 5
    var ws = xlPackage.Workbook.Worksheets[WorksheetId]; //This is the part that is causing error

      for (int i = 1; i <= ws.Dimension.End.Column; i++)
      {
         dt2.Columns.Add((i - 1).ToString());
      }
 }

Upvotes: 2

Views: 3007

Answers (2)

OneGhana
OneGhana

Reputation: 117

There is a change the "name" as mentioned in the error is not the sheet name.. There is a section in the Formular tab of the Excel software called "Name Manager". There you will find list of names and references there. The error above per the source code of EPPlus is generated when EPPlus tries to validate the name range. I had to modify the EPPlus source code to ignore the error since the file i was dealing with was locked and needed to be preserved as it was.

Upvotes: 1

lel
lel

Reputation: 327

Came across this LINK and realized this is actually a bug in EPPlus for version 4.5.2.2 onward.

After reverting back to the older version, everything works fine.

Upvotes: 3

Related Questions