Microsoft Open XML Чтение файла Excel с использованием метода SAX по строке и поиск данных ячейки

Я смотрел несколько сообщений здесь, на складе, но я не нахожу то, что ищу, и те, которые, как мне кажется, близки, похоже, не работают для меня. Использование OpenXmlReader не считывает строки, поскольку, как представляется, никогда не открывать данные листа, тип элемента строки никогда не будет найден.

Мне нужно использовать SAX метод использования OpenXmlPartReader. Я ищу, чтобы открыть документ Excel и прочитать строку за строкой. Для каждой строки мне нужно захватить пару ячеек либо по номеру индекса, либо по id, и по значению в этой ячейке. Поэтому мне не нужно проходить через каждую ячейку, я знаю, какие ячейки мне нужны.

Я хочу использовать SAX-метод, чтобы избежать нехватки памяти, поскольку я ожидаю, что вам нужно будет читать большие файлы.

У меня была аналогичная проблема. После объединения нескольких связанных ответов, найденных в SO, я закодировал пользовательский сканер, который может извлекать все строки из 1-го листа.

Взгляните на мой проект xlsx-sax-exporter github и дайте мне знать, как он работает для вас.

Читатель очень быстро открывает рабочий лист и вычисляет его размеры, проверяя ссылку SheetDimensions при конструировании.

Он также может форматировать числа и даты после проверки формата ячейки и нумерации рабочей книги. Он даже пытается охватить случаи форматов нумерации по умолчанию.

Читатель работает с пейджингом, потому что я хочу поддерживать извлечение постраничных результатов на сервере, и он лучше всего работает, если все страницы извлекаются последовательно. Это быстро растет, как ожидалось, из-за потоковой передачи звука и использования памяти. Сравнивая это без хранения строк в памяти, он никогда не использует более 10 МБ (выпускная сборка).

Не стесняйтесь вилки и отправляйте запрос на тяну, если у вас есть предложение предложить, или просто откройте проблему, и я постараюсь позаботиться об этом, когда у меня будет время.

  • Нумерация форматов в OpenXML C #
  • Могу ли я хранить пользовательские XML-данные в файле xlsx с помощью CustomXmlPart?
  • Когда Excel окружает имена листов с одинарными кавычками в файлах workbook.xml (или других xml)?
  • Невозможно использовать несколько шрифтов с OpenXMl Cell styling
  • OpenXML Spreadsheet, удаляющий строки, вызывает ошибки чтения нечитаемого содержимого
  • OpenXML (метод SAX) - добавление строки в существующую вкладку
  • OpenXML SDK - объединить несколько файлов Excel
  • C # OpenXml Excel Creation - могу ли я установить его в «Format as table»?
  • Каков самый быстрый способ экспорта DataTable в C # в MS Excel?
  • Запись в существующий файл Excel с помощью OpenXML
  • Как применить шрифт и цвет текста в ячейках файла Excel с помощью openxml
  • Давайте будем гением компьютера.