Листы Excel, не получаемые по умолчанию

Когда я пытаюсь читать имена Excel из моего кода на C# он возвращает их в алфавитном порядке. Я действительно нуждаюсь в них в их обычном порядке.

Это связано с тем, что у меня есть сценарий, когда пользователям нужно вводить номер листа, а затем на основании этого мне нужно обработать этот результат листа. Но когда я читаю код, он определенно возвращает листы в алфавитном порядке, как я могу получить имена этих листов в обычном порядке?

Для получения имен листов мы используем код типа

 sheetNamesDT = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null); 

Согласно MSDN, в случае электронных таблиц внутри Excel это может не работать, потому что файлы Excel не являются настоящими базами данных. Таким образом, вы не сможете получить имя листа в порядке их визуализации в рабочей книге.

Код для получения имени листа в соответствии с их визуальным внешним видом с использованием interop:

Добавьте ссылку на библиотеку объектов Microsoft Excel 12.0.

Следующий код даст имя листа в фактическом порядке, хранящемся в рабочей книге, а не отсортированное имя, но для этого вам необходимо установить офис на этом компьютере.

Образец кода:

 using Microsoft.Office.Interop.Excel; string filename = "C:\\romil.xlsx"; object missing = System.Reflection.Missing.Value; Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel.Workbook wb =excel.Workbooks.Open(filename, missing, missing, missing, missing,missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); ArrayList sheetname = new ArrayList(); foreach (Microsoft.Office.Interop.Excel.Worksheet sheet in wb.Sheets) { sheetname.Add(sheet.Name); } 
  • Как поймать / выбросить ошибки с помощью QAxObject
  • Раскладка элементов Excel
  • c # bulk добавить комментарии с помощью excel interop
  • Excel с столбцами с точкой (.)
  • Доступ к CustomProperties на листе с именем
  • Копирование таблиц Excel с помощью SCOI CopySheet; копия всегда пустая
  • визуальная студия, подключенная к процессу в режиме отладки
  • Как отключить поле «Формат» в диалоговом окне wdDialogFileSaveAs в C #, я работаю над надстройкой надстройки Office?
  • Как экспортировать отчет RDLC в формате .xlsx в asp.net?
  • Проблемы с производительностью при доступе к Microsoft.Office.Core.DocumentProperties
  • Случайное исключение IOException при создании файла CSV «Процесс не может получить доступ к файлу ...»
  • Давайте будем гением компьютера.