EPPlus 显示系统参数异常
EPPlus Shows System Argument Exception
我在使用 C# 和 EPPlus 阅读工作簿中的某些工作表时遇到问题。
错误信息
name contains invalid characters
即使对工作簿中的工作表名称、文件名和列 headers 进行了多次检查以确保没有无效字符,我仍然面临同样的错误。
但是,当我将我需要的工作表从同一工作簿移动到新的 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());
}
}
遇到这个 LINK 并意识到这实际上是 EPPlus 4.5.2.2 及更高版本中的一个错误。
恢复到旧版本后,一切正常。
有一个更改,错误中提到的“名称”不是 sheet 名称。Excel 软件的“公式”选项卡中有一个名为“名称管理器”的部分.
在那里你会找到名字和参考的列表。当 EPPlus 尝试验证名称范围时,会根据 EPPlus 的源代码生成上述错误。
我不得不修改 EPPlus 源代码以忽略错误,因为我正在处理的文件已被锁定并且需要按原样保留。
我在使用 C# 和 EPPlus 阅读工作簿中的某些工作表时遇到问题。
错误信息
name contains invalid characters
即使对工作簿中的工作表名称、文件名和列 headers 进行了多次检查以确保没有无效字符,我仍然面临同样的错误。
但是,当我将我需要的工作表从同一工作簿移动到新的 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());
}
}
遇到这个 LINK 并意识到这实际上是 EPPlus 4.5.2.2 及更高版本中的一个错误。
恢复到旧版本后,一切正常。
有一个更改,错误中提到的“名称”不是 sheet 名称。Excel 软件的“公式”选项卡中有一个名为“名称管理器”的部分. 在那里你会找到名字和参考的列表。当 EPPlus 尝试验证名称范围时,会根据 EPPlus 的源代码生成上述错误。 我不得不修改 EPPlus 源代码以忽略错误,因为我正在处理的文件已被锁定并且需要按原样保留。