Использование Excel OleDb для получения имен листов В ПОРЯДКЕ ЛИСТАC#

Место общения программистов C#
Ответить
Anonymous
 Использование Excel OleDb для получения имен листов В ПОРЯДКЕ ЛИСТА

Сообщение Anonymous »

Я использую OleDb для чтения книги Excel с множеством листов.

Мне нужно прочитать имена листов, но они нужны мне в том порядке, в котором они определены в электронной таблице; поэтому, если у меня есть файл, который выглядит так;

Код: Выделить всё

|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
|_____|_____|____|____|____|____|____|____|____|
\__GERMANY__/\__UK__/\__IRELAND__/
Тогда мне нужен словарь

Код: Выделить всё

1="GERMANY",
2="UK",
3="IRELAND"
Я пробовал использовать OleDbConnection.GetOleDbSchemaTable(), и это дает мне список имен, но он сортирует их в алфавитном порядке. Альфа-сортировка означает, что я не знаю, какому номеру листа соответствует конкретное имя. Итак, я понимаю;

Код: Выделить всё

GERMANY, IRELAND, UK
который изменил порядок Великобритании и ИРЛАНДИИ.

Причина, по которой мне нужна сортировка, заключается в том, что я должен позволить пользователю выбирать диапазон данных по имени или индексу; они могут запросить «все данные от ГЕРМАНИИ до ИРЛАНДИИ» или «данные от листа 1 до листа 3».

Будем очень благодарны за любые идеи.

Если бы я мог использовать классы взаимодействия с Office, это было бы просто. К сожалению, я не могу, потому что классы взаимодействия не работают надежно в неинтерактивных средах, таких как службы Windows и сайты ASP.NET, поэтому мне пришлось использовать OLEDB.

Подробнее здесь: https://stackoverflow.com/questions/116 ... heet-order
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»