You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Проблема 1:
Сейчас парсер получает данные из первого (активного) листа xlsx файла.
Не обработаны случаи:
Файл содержит несколько листов (worksheet) с данными и все их нужно обработать.
Файл содержит несколько листов и данные находятся на каком-то конкретном листе.
Файл содержит несколько листов и не все они с данными. Нужно обработать несколько листов
Проблема 2:
Сейчас заголовок таблицы ищется в строке header_row_index страницы.
Не обработаны случаи:
header_row_index изначально неизвестен. Допустим в файле сначала идет шапка документа произвольной высоты, а дальше таблица с данными, которые нужно получить.
на разных страницах документа заголовок таблицы находится на разных строках
для разных колонок заголовок находится на разных стоках (заголовок многострочный)
Проблема 3:
Под таблицей с данными может быть колонтитул (например ячейки с местами для подписи).
Не решена проблема определения последней строки с данными.
Сейчас можно или указать last_row_index, или завязаться на наличие значение в какой-то из колонок и делать SkipRow для всех строк, у которых в этой ячейке нет данных.
Кажется, что этого мало.
Решение
Предлагаю ввести понятия:
Стратегия поиска листа с данными
Стратегия поиска заголовка таблицы с данными
Стратегия поиска первой и последней строки с данными.
Стратегия поиска листа с данными
Актуально только для xlsx документов
активный лист (default) - парсер получает данные с активного листа файла.
все листы файла - парсер получает данные со всех листов файла
список листов - указываем названия или индексы листов, парсер собирает данные только из них
все листы, на которых были найдены таблицы с данными - перебираем все листы, проверяем наличие правильного заголовка таблицы (подумать на какие еще признаки можно опереться)
Стратегия поиска заголовка таблицы с данными
по header_row_index (default) - данные лежат в конкретной строке, индекс которой заранее известен
первая строка, значения ячеек в которой совпадают с ожидаемым заголовком таблицы - перербираем построчно файл, каждую строку сравниваем с ожидаемым заголовком. Первое совпадение - строка с заголовком таблицы
Стратегия поиска первой строки с данными
по first_data_row_index - данные лежат начиная со строки, индекс которой заранее известен
первая непустая строка после заголовка
n строка после заголовка
первая строка удовлетворяющая условию
Стратегия поиска последней строки с данными
конец файла - все строки до конца файла содержат данные
по last_data_row_index
первая строка удовлетворяющая условию
The text was updated successfully, but these errors were encountered:
Проблема 1:
Сейчас парсер получает данные из первого (активного) листа xlsx файла.
Не обработаны случаи:
Проблема 2:
Сейчас заголовок таблицы ищется в строке header_row_index страницы.
Не обработаны случаи:
Проблема 3:
Под таблицей с данными может быть колонтитул (например ячейки с местами для подписи).
Не решена проблема определения последней строки с данными.
Сейчас можно или указать last_row_index, или завязаться на наличие значение в какой-то из колонок и делать SkipRow для всех строк, у которых в этой ячейке нет данных.
Кажется, что этого мало.
Решение
Предлагаю ввести понятия:
Стратегия поиска листа с данными
Актуально только для xlsx документов
Стратегия поиска заголовка таблицы с данными
Стратегия поиска первой строки с данными
Стратегия поиска последней строки с данными
The text was updated successfully, but these errors were encountered: