为了账号安全,请及时绑定邮箱和手机立即绑定

使用Excel OleDb在SHEET ORDER中获取工作表名称

使用Excel OleDb在SHEET ORDER中获取工作表名称

C#
陪伴而非守候 2019-10-08 10:07:25
我正在使用OleDb从具有很多工作表的excel工作簿中进行阅读。我需要读取工作表名称,但需要按电子表格中定义的顺序来使用它们。所以如果我有一个看起来像这样的文件;|_____|_____|____|____|____|____|____|____|____||_____|_____|____|____|____|____|____|____|____||_____|_____|____|____|____|____|____|____|____|\__GERMANY__/\__UK__/\__IRELAND__/那我要拿字典1="GERMANY", 2="UK", 3="IRELAND"我尝试使用OleDbConnection.GetOleDbSchemaTable(),这会给我提供名称列表,但是会按字母顺序对它们进行排序。Alpha排序意味着我不知道特定名称对应于哪个工作表编号。所以我得到了;GERMANY, IRELAND, UK更改了UK和的顺序IRELAND。我需要对它进行排序的原因是,我必须让用户按名称或索引选择数据范围。他们可以要求“从德国到爱尔兰的所有数据”或“从表1到表3的数据”。任何想法将不胜感激。如果我可以使用office互操作类,这将很简单。不幸的是,我不能这样做,因为互操作类在非交互环境(例如Windows服务和ASP.NET站点)中无法可靠地工作,因此我需要使用OLEDB。
查看完整描述

3 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

在实际的MSDN文档中找不到此内容,但论坛的主持人说


恐怕OLEDB不会像在Excel中那样保留工作表顺序


工作表顺序中的Excel工作表名称


似乎这是一个足够普遍的要求,那就是要有一个不错的解决方法。


查看完整回答
反对 回复 2019-10-08
  • 3 回答
  • 0 关注
  • 663 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信