【发布时间】:2012-05-24 17:54:54
【问题描述】:
我正在尝试检索 Excel 工作簿中的工作表列表,但我返回的集合同时包含工作表名称和数据列 ID,在原始 xlsx xml 中似乎称为“定义名称”。你能告诉我如何只返回工作表名称吗?
我使用的代码是这样的:
OleDbConnection connExcel = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;"
+ @"Data Source=" + FilePath + ";"
+ @"Extended Properties=""Excel 8.0;HDR=Yes;""");
OleDbCommand cmdExcel = new OleDbCommand();
cmdExcel.Connection = connExcel;
connExcel.Open();
DataTable testTable = connExcel.GetSchema("Tables");
生成的 testTable 集合的内容包含以下 TABLE_NAME 下的条目:
- 数据1
- 数据2
- 数据3
- DATA4
- DATA5
- Sheet1$
- 测试1 -TEST2
- 测试键
- 测试键
- 测试密钥
它们都有一个 TABLE_TYPE 的 TABLE。
与上述对应的原始工作簿将有 1 个包含 5 列的工作表,第一行将包含一个标题。我只对 Sheet1$ 条目感兴趣。电子表格是 在 Excel 2010 中创建,我试图在用 C# 编写的 ASP.NET 4 应用程序中处理它。工作表名称可能已更改,因此我无法保证它始终为 Sheet1$。
【问题讨论】:
标签: asp.net excel c#-4.0 oledb