遇见 jxls

来源:互联网 发布:telnet端口怎么打开 编辑:程序博客网 时间:2024/04/30 08:50

记得 刚刚参加工作的时候,看到老鸟们在做报表,写SQL,生成EXCEL,当时觉得很牛。很长时间没有接触java了,这些东西也记不得了,但是今天工作需要用到jxls,所以看了一下,原来如此啊。

 

 

jXLS is a small and easy-to-use Java library for writing Excel files using XLS templates and reading data from Excel into Java objects using XML configuration.

看了这段就只要,两个作用:用XLS模板写Excel和用xml配置文件读取Excel数据到java类里面。

 

我要 用到的是前面一个功能用XLS模板写Excel,做报表嘛!

 

然后我们想要知道的就是两个方面的事情了: 

第一,java代码如何写

第二,excel里面的脚本怎么写

 

java代码很简单,如下:

 

 

    Department department;                    ... //initialization                    Map beans = new HashMap();                    beans.put("departments", department);//在Excel里面的变量要匹配,数据都放在这个变量里面了,也可以是List                    XLSTransformer transformer = new XLSTransformer();                    transformer.transformXLS(xlsTemplateFileName, beans, outputFileName);//第一个变量是templates,第三个是要输出的文件

 

Excel里面的写法很多,主要的有

foreach:

 

<jx:forEach items="${departments}" var="department">//要匹配,不知道为什么官网里面都有错误          ${department.name} | ${department.chief} </jx:forEach>
goup:
  <jx:forEach items="${employees}" groupBy="age">                    Age: ${group.item.age}                    <jx:forEach items="${group.items}" var="employee">                    ${employee.name} | ${employee.payment} | ${employee.bonus}                    </jx:forEach>                    </jx:forEach>
if:
<jx:if test="${department.chief.payment > 2000.0}">                        Chief Name: ${department.chief.name}                    </jx:if>
官网地址:http://jxls.sourceforge.net
参考blog:http://dev.firnow.com/course/3_program/java/javajs/200878/132268.html