当我尝试在Excel工作表上运行查询时出现“无效的名称包围”错误

时间:2009-07-24 14:49:13

标签: c# excel worksheet

为了制作一些报告,我需要解析一些excel文件。当我尝试从工作表中选择记录时,我得到下一个错误:名称'1的包围无效。页面$”。

继承我的代码:

OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [1. page$]", connectionString);

我知道如果我将工作表重命名为“page”,它会起作用,但由于我没有命名这些工作表,我需要知道如何修复此查询才能正常工作。我该怎么办?

3 个答案:

答案 0 :(得分:6)

我遇到了同样的问题,将.替换为#并且有效。谢谢!

答案 1 :(得分:2)

看起来像你的工作表名称[1。 page $]无效。对于Excel工作表名称,这是可以的,但在查询中则不行。你不应该有“。”在你的工作表名称中。

你无法绕过“。”问题。它在您运行查询时无效。

答案 2 :(得分:1)

SpreadsheetGear for .NET将允许您使用Excel文件,而不受OleDb强加的限制。

您可以看到C#和VB示例here并通过下载免费试用here自行尝试。

免责声明:我拥有SpreadsheetGear LLC