Проблема генерации отчета xlsx

Добрый день.
jmix 1.5.5

Появилась необходимость проводить пост-обработку отчетов (poi), сформированных с помощью reports-add-on. Словил следующие грабли:
В случае если у ячеек есть границы, то их тип на выходе “портится”.
Минимальный отчет приложил:
test.zip (19.0 КБ)

Посмотрим 2 шаблона и типы ячеек и сравним с типами ячеек из сформированных отчетов:

    @Test
    fun checkCellType() {
        val reportTemplate = reportRunner.byReportCode("test")
            .withTemplateCode("template1")
            .buildContext().reportTemplate!!
        val template = XSSFWorkbook(reportTemplate.content.inputStream())
        template.getSheetAt(0).forEach { row ->
            row.forEach { cell ->
                log.warn("Template1: ${cell.rowIndex}-${cell.columnIndex} - ${cell.cellType.name} - \"${cell.formattedCellValue()}\"")
            }
        }
        template.close()

        val reportContent = reportRunner.byReportCode("test")
            .withTemplateCode("template1")
            .run()
            .content

        XSSFWorkbook(reportContent.inputStream()).let {
            it.getSheetAt(0).forEach { row ->
                row.forEach { cell ->
                    log.warn("Report1: ${cell.rowIndex}-${cell.columnIndex} - ${cell.cellType.name} - \"${cell.formattedCellValue()}\"")
                }
            }

            it.close()
        }

        val report2Template = reportRunner.byReportCode("test")
            .withTemplateCode("template2")
            .buildContext().reportTemplate!!
        val template2 = XSSFWorkbook(report2Template.content.inputStream())
        template2.getSheetAt(0).forEach { row ->
            row.forEach { cell ->
                log.warn("Template2: ${cell.rowIndex}-${cell.columnIndex} - ${cell.cellType.name} - \"${cell.formattedCellValue()}\"")
            }
        }
        template2.close()

        val reportContent2 = reportRunner.byReportCode("test")
            .withTemplateCode("template2")
            .run()
            .content

        XSSFWorkbook(reportContent2.inputStream()).let {
            it.getSheetAt(0).forEach { row ->
                row.forEach { cell ->
                    log.warn("Report2: ${cell.rowIndex}-${cell.columnIndex} - ${cell.cellType.name} - \"${cell.formattedCellValue()}\"")
                }
            }
            it.close()
        }
    }

В итоге в логе имеем:

Template1: 0-0 - STRING - "${a}"
Template1: 0-2 - STRING - "${b}"
Report1: 0-0 - NUMERIC - "1"
Report1: 0-1 - STRING - "null"
Report1: 0-2 - NUMERIC - "2"

Здесь у нас уже появилась пустая ячейка, но это терпимо, поскольку тип ячейки строка.

Template2: 0-0 - STRING - "${a}"
Template2: 0-1 - BLANK - "null"
Template2: 0-2 - STRING - "${b}"
Report2: 0-0 - NUMERIC - "1"
Report2: 0-1 - NUMERIC - "0"
Report2: 0-2 - NUMERIC - "2"

Тут ячейка в шаблоне уже есть, видимо, по причине наличия границ. Но вот тип ячейки 0-1 стал числовым и теперь при копировании ячейки/диапазона мы имеем вот такую картину (на другом примере):
image