EPPlus无效的地址格式错误

时间:2013-06-06 18:17:39

标签: .net excel epplus

尝试阅读excel工作表时收到错误无效地址格式TABLE_QUERY_FROM_MS_ACCESS_DATABASE [BACKORDERS] 它出现在这一行......

 If package.Workbook.Worksheets.Count = 0 Then

事实上,无论何时我访问.Workbook我收到此错误,这对我来说是一个完整的显示阻止。现在我已经阅读了excel文件(我不是excel专家)但是当我点击公式标签时,我点击名称管理器按钮,一个对话框出现五列。 “名称,值,引用,范围,注释” BackOrders有多个条目,并且在“引用到”下的所有记录中的值是 = Table_Query_from_MS_Access_Database [BackOrders]

当我点击引荐位置时,我会被带到同一工作簿中的另一个工作表,并突出显示 BackOrders 列。有没有人知道我怎么能纠正这个?

2 个答案:

答案 0 :(得分:4)

您的列名称作为其中的空格。错误在于:https://epplus.codeplex.com/workitem/14779

对我有用的快速解决办法就是两次这样做失败的电话:

var ws;
try{
    ws = package.Workbook.Worksheets[1];
}catch( Exception ){
    ws = package.Workbook.Worksheets[1];
}

在我的简单案例中,它足以让我继续前进。

答案 1 :(得分:0)

我相信,真正的原因是EPPlus不能具有范围为“工作簿”的命名范围。您可以使用EPPlus - Named Range is not populated中显示的方法来使用工作簿作用域内的名称,但是要查找给定字段名称的值,请确保该名称的作用域是工作表。