Skip to content

Копирование избыточного числа строк из шаблона #69

@Midest

Description

@Midest

(и, вероятно, лишняя проверка для столбцов)

При использовании библиотеки столкнулся с проблемой копирования лишних строк. Пример данных для теста прилагаю.

Проблема оказалась в POIReportWriter: при вычислении rowFinish берется максимум из значений, которые обозначают разные вещи — номер строки в шаблоне и номер последней строки результата на текущей итерации. И дальше значение интерпретируется как номер строки в шаблоне. В результате с ростом числа строк в формирующемся документе растет число скопированных строк, и может быть скопировано больше, чем нужно.

Из лога изменений не понял, откуда там максимум появился, но тестов на это, видимо, нет, потому что изменение на номер строки в шаблоне:

int rowFinish = range.bottom();

исправило проблему на моем примере и не уронило тесты.

Дальше по коду аналогичный выбор для столбцов, но минимума. Он кажется избыточным, дальше проверка на null есть, так что вероятно достаточно будет (также не влияет на тесты):

int colFinish = range.right();

Кстати, спасибо за библиотеку, пригодилась. :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions