Microsoft Open XML Чтение файла Excel с использованием метода SAX по строке и поиск данных ячейки
Я смотрел несколько сообщений здесь, на складе, но я не нахожу то, что ищу, и те, которые, как мне кажется, близки, похоже, не работают для меня. Использование OpenXmlReader не считывает строки, поскольку, как представляется, никогда не открывать данные листа, тип элемента строки никогда не будет найден.
Мне нужно использовать SAX метод использования OpenXmlPartReader. Я ищу, чтобы открыть документ Excel и прочитать строку за строкой. Для каждой строки мне нужно захватить пару ячеек либо по номеру индекса, либо по id, и по значению в этой ячейке. Поэтому мне не нужно проходить через каждую ячейку, я знаю, какие ячейки мне нужны.
Я хочу использовать SAX-метод, чтобы избежать нехватки памяти, поскольку я ожидаю, что вам нужно будет читать большие файлы.
- Как получить OpenXML в буфер обмена, чтобы он вставлялся в Excel?
- Файл Excel не имеет SharedStringTable
- Excel принимает некоторые символы, в то время как OpenXml имеет ошибку
- Как вы добавляете перенос текста в ячейку с помощью OpenXml при создании файлов excel?
- Установка Font.Bold и Column.Width для ячеек в OPEN XML
- Как вы используете OpenXML API для чтения таблицы из электронной таблицы Excel?
- Преобразование Word docx в Excel с помощью OpenXML
- Как различать дату и другие числовые форматы (например, число / валюта) в открытом xml sdk SpreadSheet?
- Применение форматирования чисел в OpenXML
- Как форматировать тип ячейки с помощью xlsx4j?
- Использование OpenXML, как я могу связать список для проверки данных
- открыть xml для запроса выделенных ячеек
- c # Динамическое создание объектов openxml в цикле
У меня была аналогичная проблема. После объединения нескольких связанных ответов, найденных в SO, я закодировал пользовательский сканер, который может извлекать все строки из 1-го листа.
Взгляните на мой проект xlsx-sax-exporter github и дайте мне знать, как он работает для вас.
Читатель очень быстро открывает рабочий лист и вычисляет его размеры, проверяя ссылку SheetDimensions
при конструировании.
Он также может форматировать числа и даты после проверки формата ячейки и нумерации рабочей книги. Он даже пытается охватить случаи форматов нумерации по умолчанию.
Читатель работает с пейджингом, потому что я хочу поддерживать извлечение постраничных результатов на сервере, и он лучше всего работает, если все страницы извлекаются последовательно. Это быстро растет, как ожидалось, из-за потоковой передачи звука и использования памяти. Сравнивая это без хранения строк в памяти, он никогда не использует более 10 МБ (выпускная сборка).
Не стесняйтесь вилки и отправляйте запрос на тяну, если у вас есть предложение предложить, или просто откройте проблему, и я постараюсь позаботиться об этом, когда у меня будет время.