0

我正在使用 JXLS 填充模板 excel 电子表格。我有一个配置文件,其中定义了列应包含在导出中。我在这个主页 http://jxls.sourceforge.net/reference/tags.html上找到 了使用标签的可能性jx:if,但是如果我这样使用它(带有“<”、“/>”)

              A                               |     B                | C     | D | E 
jx:if test="${columnheader.b != DISABLED}"    | ${columnheader.b}    | jx:if | d | e
                                              |  b                   |       |   |

结果是

               A                               |     B                | C     | D | E 
               d                               |     e                |       |   |
                                               |     b                |       |   |

但我想

               A                      |     B                | C     | D | E 
               d                      |     e                |       |   |
                                      |                      |       |   |

我可以对列中的每个单元格使用 if-Tag,然后它就可以工作了。但我也想使用 if-Tags 来删除行(比如这个Remove template row in JXLS when input list is empty)然后它不起作用,因为我在列中有一个结束 if-Tag。

我也找到了方法xlsTransformer.setColumnPropertyNamesToHide(..),但它只隐藏了列而不删除它们。

我会非常感谢一些帮助。

4

1 回答 1

0

选择你的例子,你可以这样做:

                A                               |     B                | C     | D | E 
1 jx:if test="${line something...}"             |                      |       |   |  
2 jx:if test="${columnheader.b != DISABLED}"    | ${columnheader.b}    | jx:if | d | e
3 jx:if                                         |                      |       |   |  
4 jx:if test="${columnheader.b != DISABLED}"    |     b                | jx:if |   | 

也就是说,您将 if-tags 放在所有列中,对于要检查的行,请在前后的行中进行。

注意:

  • 当您为一行放置 If 标记时,放置jx:if 标记的行将始终消失(独立于条件为真或假)。在示例中,单元格 A1、B1、C1、D1、E1 和 A3、B3、C3、D3、E3 将始终消失。

  • 当您为列放置 If-tag 时,放置 jx:if 标记的单元格将始终消失。在示例中,单元格 A2、C2 和 A4、C4 将始终消失。

于 2014-01-16T10:31:56.493 回答