JXLS:根据表达式内容着色一行

时间:2017-05-05 15:16:09

标签: jxls

我是JXLS的初学者。我读了Documentation for formulas但是卡住了。

让我们以员工为榜样: enter image description here

当一名员工的收入超过2000美元时,我希望将整行显示为绿色(列#34;付款",变量" employee.payment")。

在文档示例中: enter image description here

我希望第5,6和8行以绿色着色。

这可能吗?如果有,怎么样?使用评论命令?或者我需要Java代码?我没有显示代码,因为它很大而不是来自我,所以我并不完全熟悉它。因此,为了解决这个问题,我们可以查看纪录片代码。我的情况与此类似。

Area xlsArea;
Context context;
// construct XLS Area and set it into xlsArea var
// ...
// fill in context var with data
// ...
// apply XLS Area at A1 cell of 'Result' sheet
xlsArea.applyAt(new CellRef("Result!A1"), context);
// process area formulas
xlsArea.processFormulas();
// save excel output
// ...

修改

根据Leonids使用if-else结构的建议,我现在通过添加一个额外的"作弊行"在下面,它有所需的颜色:

enter image description here

但我现在面临一个问题:看看员工的例子,我可以有10个,但也有1000个 - 我只是不知道,数据是动态的。那么这就发生了:

enter image description here

我的"作弊行"出现在第23行。这是一个问题....... 由于我可以拥有100万名员工,我无法将其放在下面,当数据太多时,该行总是会出现在结果中。

1 个答案:

答案 0 :(得分:1)

有两种主要方法可以在Jxls-2中实现行突出显示。

一种是使用if-command,另一种是使用AreaListener

您可以在if-command项目的EachIfCommandDemo中找到使用jxls-demo进行行突出显示的示例。

您可以在AreaListener中找到使用AreaListenerDemo进行单元格突出显示的示例。