我正在使用 OleDb 从一个有许多工作表的 Excel 工作簿中读取内容。
我需要阅读工作表名称,但我需要他们的顺序,他们是在电子表格中定义的; 因此,如果我有一个文件,看起来像这样;
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
那我得去拿字典
1="GERMANY",
2="UK",
3="IRELAND"
我试过使用 OleDbConnection.GetOleDbSchemaTable()
,它会给我一个名字列表,但是它会按字母顺序排序。阿尔法排序意味着我不知道某个特定名称对应的工作表号码。所以我明白
GERMANY, IRELAND, UK
改变了 UK
和 IRELAND
的顺序。
我之所以需要对它进行排序,是因为我必须让用户根据名称或索引选择一个数据范围; 他们可以要求“所有从德国到爱尔兰的数据”或“从表1到表3的数据”。
有任何想法都会很感激。
如果我可以使用办公室互操作类,这将是直接的。不幸的是,我不能,因为互操作类不能可靠地在非交互式环境中工作,如 Windows 服务和 ASP.NET 站点,所以我需要使用 OLEDB。