为了制作一些报告,我需要解析一些excel文件。当我尝试从工作表中选择记录时,我得到下一个错误:名称'1的包围无效。页面$”。
继承我的代码:
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [1. page$]", connectionString);
我知道如果我将工作表重命名为“page”,它会起作用,但由于我没有命名这些工作表,我需要知道如何修复此查询才能正常工作。我该怎么办?
答案 0 :(得分:6)
我遇到了同样的问题,将.
替换为#
并且有效。谢谢!
答案 1 :(得分:2)
看起来像你的工作表名称[1。 page $]无效。对于Excel工作表名称,这是可以的,但在查询中则不行。你不应该有“。”在你的工作表名称中。
你无法绕过“。”问题。它在您运行查询时无效。
答案 2 :(得分:1)
SpreadsheetGear for .NET将允许您使用Excel文件,而不受OleDb强加的限制。
您可以看到C#和VB示例here并通过下载免费试用here自行尝试。
免责声明:我拥有SpreadsheetGear LLC