If-Command is a conditional command to output an area depending on a condition specified in the test attribute of the command.
The If-Command had the following attributes
condition is a conditional expression to test
ifArea is a reference to an area to output when this command condition evaluates to true
elseArea is a reference to an area to output when this command condition evaluates to false
ifArea and condition attributes are mandatory.
As with any Jxls command you can use Java API or Excel markup or XML configuration to define the If-Command
Below is an example of creating If-Command found in Jxls examples at BitBucket example
// ... // creating 'if' and 'else' areas XlsArea ifArea = new XlsArea("Template!A18:F18", transformer); XlsArea elseArea = new XlsArea("Template!A9:F9", transformer); // creating 'if' command IfCommand ifCommand = new IfCommand("employee.payment <= 2000", ifArea, elseArea);
To create If Command with Excel markup you should use the following syntax in a comment for a starting cell of the command body area
jx:if(condition="employee.payment <= 2000", lastCell="F9", areas=["A9:F9","A18:F18"])
Here lastCell attribute defines the last cell of the If-Command area.
To create If-Command with XML configuration you use the following markup
<area ref="Template!A9:F9"> <if condition="employee.payment <= 2000" ref="Template!A9:F9"> <area ref="Template!A18:F18"/> <area ref="Template!A9:F9"/> </if> </area>
Here ref attribute defines the area to be associated with the If-Command.