使用ADO.Net在C#中读取excel文件时出现问题

时间:2010-07-21 15:18:06

标签: c# .net excel ado.net

我今天刚刚开始使用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#

那样

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以从Excel文件中获取“表格”(工作表或命名范围)列表:

DataTable schema = connection.GetSchema(OleDbMetaDataCollectionNames.Tables);

TABLE_NAME字段是您应在查询中使用的字段。如果值周围有单引号,则需要包含这些引号。例如,我的文件包含名为“GP”和“Kimberly Clark”的工作表。在架构表中,它们显示为“GP $”和“'Kimberly Clark $'”。在查询中,我会将它们称为“[GP $]”或“['Kimberly Clark $']”。