public static void main(String[] args) throws Exception {
String tplPath = "d:/work/proTmp/jxls/部门信息表模板.xlsx";
String destPath = "d:/work/proTmp/jxls/部门信息表.xlsx";
Department dept1 = new Department();
dept1.setName("信息部");
List
staffs = new ArrayList();
staffs.add(new Staff("张三", 5000D, 2000D));
staffs.add(new Staff("李四", 6000D, 3000D));
dept1.setStaffs(staffs);
Department dept2 = new Department();
dept2.setName("信息部");
List staffs2 = new ArrayList();
staffs2.add(new Staff("王五", 7000D, 4000D));
staffs2.add(new Staff("何六", 8000D, 5000D));
dept2.setStaffs(staffs2);
Map beanParams = new HashMap();
beanParams.put("dept", dept1);
XLSTransformer former = new XLSTransformer();
former.transformXLS(tplPath, beanParams, destPath);
你会看到生成的Excel表格如下所示:
如上文中所描述,通过${dept.staffs.name},我们取到了dept对象中,每个员工的名称,显然,通过dept.staffs.proName,我们迭代了Department中的staffs对象。
模板中还有一个特殊的地方——$[sum(C2:E2)]//dept.staffs,我们已经知道,$[sum(c2:e2)]计算的是第2行C至E列的和,而//dept.staffs可以理解为per dept's staffs,也就是说,$[sum(C2:E2)]//dept.staffs表示的是“统计部门的每个staffs对象的从C到E列的和”。
在jxls操作excel文件一文中,提到可以使用进行迭代处理,JXLS中还有另一种循环方式,且看如下示例。 Excel模板如下所示: 现有类Staff,内容如下所示:/** * */package com.geloin.jxls.beans;/** * @author Geloin * */public class Staff
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.ut...
jx
:each(items=“result” var=“v” lastCell=“AX2”)
批注:
jx
:each(items=“v.csDetail” var=“cs” lastCell=“AV2”)
后面连个再次
循环
的非合并列放在合并列
中
间时,当出现有一个List为null或者为0时会出现数据错误的问题,不截图了~
把他放到最后去,懒得去写if判断了(单个List没...
var is a name of the variable in
Jxls
context to put each new collection item when iterating
items is a name of a context variable containing the collection (
jxls
2的基本使用方法就不具体介绍了,
jxls
2和
jxls
的一代版本有很大差异,请大家注意区分。
在使用
jxls
2时,我们经常会用到each命令来
循环
导出数据。each命令的基本写法为:
jxls
作为比较好的
excel
模版方案,比poi和easy
Excel
相对扩展性更高。
demo包含全部官方例子和模版, 2.6官方新增合并单元格标签,
jx
:mergecells 以及其他相关一切demo,很好的资源,分享给大家,供大家学习交流。
环境依赖 maven JDK1.8 不管使用eclipse 或者idea 直接导入即可,项目
中
使用请参照demo
中
pom文件版本,如需交流请关注博客
JXLS
是基于Jakarta POI API的
Excel
报表
生成
工具,可以
生成
精美的
Excel
格式报表。它采用标签的方式,类似JSP标签,写一个
Excel
模板,然后
生成
报表,非常灵活,简单!
JXLS
软件首页:http://
jxls
.sourceforge.net/,SVN源码地址:svn://svn.code.sf.net/p/
jxls
/code。
使用
JX
L
最近一段时间一直在搞poi来做
Excel
报表,其
中
发现一个问题...让我很困惑!我也找了一些相关资料...都没有看到有类似情况.大家都用过<
jx
:
forEach
>来
循环
拿值 例如:
竖向
循环
:
<
jx
:
forEach
items="" var>
</
jx
:
forEach
>
不知道大家有没试过这样横向
循环
:
<
jx
:
forEach
items...
把鼠标放到上面,提示:此单元格
中
的数字为文本格式或者前面有撇号。把数值的单元格格式改为数值,求和单元格显示求和结果。真相大白!原来是这些数字的格式为文本,所以无法求和。
解决方法其实也很简单,把模板
中
对应的表达式*1转为数值格式即可。如:
${item.re...
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.
哎呀这是什么呀,来点能看的懂的吧,这个大体的意思就是:
jXLS
是一个基于XML配置的小型,易于使用java类库,可以用来写
Excel
格式文档,也可以用...
"type": "text",//type为keyword不可设置分词器
"analyzer": "ik_max_word",//设置分词器 ik分词器
"index": true,
"store": false
[/code]