EPPlus显示系统参数异常

时间:2019-05-02 11:37:44

标签: c# excel epplus

我在使用C#和EPPlus从工作簿中读取某些工作表时遇到问题。

错误消息

name contains invalid characters

即使在对工作簿中的工作表名称,文件名和列标题进行多次检查以确保没有无效字符之后,我仍然遇到相同的错误。

但是,当我将所需的工作表从同一工作簿移至新的Excel文件并以相同的文件名和工作表名称保存时,读入时没有错误。

有人知道如何解决甚至遇到这个问题吗?

代码

 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());
      }
 }

2 个答案:

答案 0 :(得分:0)

熟悉此LINK,并意识到这实际上是EPPlus从4.5.2.2版开始的错误。

还原到旧版本后,一切正常。

答案 1 :(得分:0)

有一个更改,错误中提到的“名称”不是工作表名称。.Excel软件的“公式”选项卡中有一个名为“名称管理器”的部分。 在那里您可以找到名称和参考的列表。当EPPlus尝试验证名称范围时,会生成以上每个EPPlus源代码的错误。 我必须修改EPPlus源代码以忽略该错误,因为我正在处理的文件已被锁定,需要按原样保存。