【发布时间】:2009-07-22 11:42:32
【问题描述】:
我正在使用 OleDb 从包含许多工作表的 Excel 工作簿中读取数据。
我需要阅读工作表名称,但我需要按照它们在电子表格中定义的顺序;所以如果我有一个看起来像这样的文件;
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
那我需要拿到字典
1="GERMANY",
2="UK",
3="IRELAND"
我尝试过使用OleDbConnection.GetOleDbSchemaTable(),这给了我姓名列表,但它按字母顺序对它们进行排序。 alpha 排序意味着我不知道特定名称对应的工作表编号。所以我明白了;
GERMANY, IRELAND, UK
这改变了UK 和IRELAND 的顺序。
我需要对它进行排序的原因是我必须让用户按名称或索引选择一系列数据;他们可以要求“从德国到爱尔兰的所有数据”或“从表 1 到表 3 的数据”。
任何想法将不胜感激。
如果我可以使用办公室互操作类,这将很简单。不幸的是,我不能,因为互操作类在非交互式环境(如 Windows 服务和 ASP.NET 站点)中不能可靠地工作,所以我需要使用 OLEDB。
【问题讨论】:
-
您正在阅读哪个版本的 Excel 文件?
-
哇,你是怎么画出来的,你是怎么有耐心画出来的
-
@АртёмЦарионов - 它们是表格的竖线 (|) 和下划线 (_) 行,以及制表符的反斜杠和正斜杠 (\/)。将其复制到文本编辑器中,您会看到。
标签: c# excel oledb server-side