我今天刚刚开始使用C#,我在阅读excel文件时遇到了麻烦。
这就是我所做的:
OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + @";Extended Properties=""Excel 12.0;HDR=YES;""");
OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet$]", connection);
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
我有一个例外,说找不到“Sheet $” (我无法复制/粘贴异常,因为该消息是法语,我还不知道如何用英语发送通用消息)
有人能告诉我,我做错了什么吗?
我按照他们在教程中所说的或像Reading Excel files from C#
那样非常感谢!
答案 0 :(得分:1)
您可以从Excel文件中获取“表格”(工作表或命名范围)列表:
DataTable schema = connection.GetSchema(OleDbMetaDataCollectionNames.Tables);
TABLE_NAME字段是您应在查询中使用的字段。如果值周围有单引号,则需要包含这些引号。例如,我的文件包含名为“GP”和“Kimberly Clark”的工作表。在架构表中,它们显示为“GP $”和“'Kimberly Clark $'”。在查询中,我会将它们称为“[GP $]”或“['Kimberly Clark $']”。