尝试阅读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 列。有没有人知道我怎么能纠正这个?
答案 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中显示的方法来使用工作簿作用域内的名称,但是要查找给定字段名称的值,请确保该名称的作用域是工作表。