Используя Excel XLSX в качестве файла конфигурации, как быстрее всего прочитать его из .NET 4.x

#.net #excel

Вопрос:

Я использую Excel в качестве пользовательского редактора файлов конфигурации программного обеспечения, думаю, таблицы данных конфигурации для программного обеспечения. Я использую обширную проверку перед использованием конфигурации в программном обеспечении (надстройка Office VSTO .NET для Visio).

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

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

Мне не нужно записывать в конфигурационный файл, только читать его. Если проверка данных конфигурации завершается неудачно, вся конфигурация отклоняется до тех пор, пока пользователь/администратор не исправит данные вручную и не попытается повторно прочитать файл Excel.

Я не использую какие-либо специальные функции Excel (диаграммы и т. Д. И т. Д.), Единственные специальные вещи, которые я хотел бы прочитать (еще одно преимущество по сравнению с работой с несколькими CSV-файлами).:

  • Цвет определенных клеток
  • Название определенных ячеек

Спасибо вам за то, что поделились своими знаниями и опытом!

Комментарии:

1. Почему бы не VBA — решение для экспорта в формате JSON или CSV в виде одного файла. Таким образом, вы сохраняете легко поддерживаемый файл excel, но получаете преимущество в скорости с помощью CSV/JSON.

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

3. ДА. И вы можете настроить его так, как хотите, и это не ограничивается какими-либо библиотечными ошибками или ограничениями. (Это не обязательно должно быть дополнение, вы можете просто подать заявку на файл/клан)

4. Переключение автозамены …. Вы можете просто сделать файл xlsm/xlsb