我想定义一个与JXLS(当前版本2.2.5)一起使用的Excel模板,以便有一个动态网格(即我不知道之前的列数),以及右边,另一个网格:
Header 1.1 | Header 1.2 | | Header 2.1 | Header 2.2 | Header 2.3
------------------------- --------------------------------------
A B C D E
F G H I J
两个网格的行数相同,但我不想合并它们,因为它们有不同的样式。
是否有可能,如果是的话:怎么样?
我尝试了来自jxls-demo集合的GridCommandDemo,并将一些静态文本(开头)放入带有网格的区域右侧的单元格中,但它只是被覆盖了。我原以为它会被移到右边。
答案 0 :(得分:4)
您可以在右侧或底侧拥有任意数量的网格。 但是你应该改变包含它们的父区域。
来自jxls-demo集合的GridCommandDemo演示了具有单个网格的简单用例。要为两个网格调整它,您应修改模板以添加其他网格,并修改父区域(通过 jx:area 命令的 lastCell 属性)以包含所有这些网格
在这种情况下,在父区域转换期间,所有网格和静态数据都将被正确移位。
答案 1 :(得分:0)
恢复这个已有5年历史的主题只是为了添加我自己的输入-因为接受的答案(或答案)并不能真正说明整个故事。
我最终将一个区域用于(以我为例)两个网格:
jx:area(lastCell="B7")
单元格B7是我第二个网格的最后一个单元格。第一格:
jx:grid(lastCell="B4" headers="firstGridHeaders" data="firstGridData" areas=[B3:B3, B4:B4])
第二格:
jx:grid(lastCell="B7" headers="secondGridHeaders" data="secondGridData" areas=[B6:B6, B7:B7])
然后,为了处理模板,我使用了JxlsHelper.getInstance()。processGridTemplate,因为正如@Matthias正确提到的那样,您不能使用processGridTempalteAtCell,因为它总是期望一个网格。