Копирование избыточного числа строк из шаблона
Midest opened this issue · comments
(и, вероятно, лишняя проверка для столбцов)
При использовании библиотеки столкнулся с проблемой копирования лишних строк. Пример данных для теста прилагаю.
Проблема оказалась в POIReportWriter
: при вычислении rowFinish
берется максимум из значений, которые обозначают разные вещи — номер строки в шаблоне и номер последней строки результата на текущей итерации. И дальше значение интерпретируется как номер строки в шаблоне. В результате с ростом числа строк в формирующемся документе растет число скопированных строк, и может быть скопировано больше, чем нужно.
Из лога изменений не понял, откуда там максимум появился, но тестов на это, видимо, нет, потому что изменение на номер строки в шаблоне:
int rowFinish = range.bottom();
исправило проблему на моем примере и не уронило тесты.
Дальше по коду аналогичный выбор для столбцов, но минимума. Он кажется избыточным, дальше проверка на null
есть, так что вероятно достаточно будет (также не влияет на тесты):
int colFinish = range.right();
Кстати, спасибо за библиотеку, пригодилась. :)