JXLS2、XLSCommentBuilder 和行覆盖白色迭代传递的集合

JXLS2, XLSCommentBuilder and row overwrite white iterating over the passed collection

我有一个相当简单的 XLS 模板,其中一行用单元格 A10:

上的注释进行了注释
jx:each(items="obj.reportRows" var="reportRow" lastCell="H10")

它运行良好 - 获取集合并添加其中的所有数据,但是它确实覆盖一些低于的静态单元格数据] 行 A,而不是插入生成的行。

each 命令似乎没有控制是否应插入或覆盖行的属性。

我是不是漏掉了什么?

尝试将这些静态单元格包含到 jx:area 标签中。

在这种情况下,它们应该按预期向下移动。

shiftMode="adjacent"

是我添加到 "each" 命令中的内容。我会解释更多...

对于像这样的简单情况,您可以在 excel 模板中的单元格 "A1" 中添加注释,代表 sheet 中的最后一行和最后一列。假设您的最后一个静态单元格位于 M1,那么您可以将以下注释添加到单元格 "A1"

jx:area(lastCell="M10")

那么您可以将 "each" 命令更改为

jx:each(items="obj.reportRows" var="reportRow" lastCell="H10" shiftMode="adjacent")

这将按照您的意愿插入行,而无需向静态单元格添加 "area" 标记。

将所有行(table + table 下面的静态单元格)合并为一个大的 jx:面积.

这将避免静态单元格消失。