C# EPPlus显示系统参数异常

C# EPPlus显示系统参数异常,c#,excel,epplus,C#,Excel,Epplus,我在使用C#和EPPlus阅读工作簿中的工作表时遇到问题 错误消息 name contains invalid characters 即使多次检查工作簿中的工作表名称、文件名和列标题以确保没有无效字符,我仍然面临相同的错误 但是,当我将所需的工作表从同一工作簿移动到新的Excel文件,并使用相同的文件名和工作表名保存它时,在中读取时没有错误 有人知道如何解决甚至遇到这个问题吗 代码 using (ExcelPackage xlPackage = new ExcelPackage(mStrea

我在使用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());
      }
 }
使用(ExcelPackage xlPackage=新的ExcelPackage(mStream))
{
//工作表TID=5
var ws=xlPackage.Workbook.Worksheets[WorksheetId];//这是导致错误的部分
for(int i=1;i遇到了这个问题,并意识到这实际上是EPPlus版本4.5.2.2以后的一个bug

恢复到旧版本后,一切正常。

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

工作表TID的值是多少?5,工作表TID实际上是工作簿中的工作表id。您的excel文件包含5张以上的工作表?该工作表的名称是什么?我的excel文件包含11张工作表。工作表名称为输入。其他工作表名称仅包含字母字符。重命名工作表名称后是否尝试过。