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
Проблема оказалась в POIReportWriter: при вычислении rowFinishберется максимум из значений, которые обозначают разные вещи — номер строки в шаблоне и номер последней строки результата на текущей итерации. И дальше значение интерпретируется как номер строки в шаблоне. В результате с ростом числа строк в формирующемся документе растет число скопированных строк, и может быть скопировано больше, чем нужно.
Из лога изменений не понял, откуда там максимум появился, но тестов на это, видимо, нет, потому что изменение на номер строки в шаблоне:
introwFinish = range.bottom();
исправило проблему на моем примере и не уронило тесты.
Дальше по коду аналогичный выбор для столбцов, но минимума. Он кажется избыточным, дальше проверка на null есть, так что вероятно достаточно будет (также не влияет на тесты):
intcolFinish = range.right();
Кстати, спасибо за библиотеку, пригодилась. :)
The text was updated successfully, but these errors were encountered:
(и, вероятно, лишняя проверка для столбцов)
При использовании библиотеки столкнулся с проблемой копирования лишних строк. Пример данных для теста прилагаю.
Проблема оказалась в
POIReportWriter
: при вычисленииrowFinish
берется максимум из значений, которые обозначают разные вещи — номер строки в шаблоне и номер последней строки результата на текущей итерации. И дальше значение интерпретируется как номер строки в шаблоне. В результате с ростом числа строк в формирующемся документе растет число скопированных строк, и может быть скопировано больше, чем нужно.Из лога изменений не понял, откуда там максимум появился, но тестов на это, видимо, нет, потому что изменение на номер строки в шаблоне:
исправило проблему на моем примере и не уронило тесты.
Дальше по коду аналогичный выбор для столбцов, но минимума. Он кажется избыточным, дальше проверка на
null
есть, так что вероятно достаточно будет (также не влияет на тесты):Кстати, спасибо за библиотеку, пригодилась. :)
The text was updated successfully, but these errors were encountered: