easypoi 实现任意格式的Excel导出
easypoi普通导出我就不说了,用他自带的注解就可以实现
1、 easypoi模板导出效果图
2、模板格式图
easypoi自定义模板可以支持任意复杂的数据导出,但是想学习如何使用还需要学习内心功法。学会他们基本的语法你就会使用这个了。
3、easypoi模板导出常用的模板语法
4、使用easypoi
首先引入依赖
<!-- https://mvnrepository.com/artifact/cn.afterturn/easypoi-base -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.0.0</version>
</dependency>
依赖可以自己去仓库下载,也可以直接用我上面提供的依赖
5、配置模板
使用fe模板语法便利集合数据
使用 “ {{}} ” 语法单个值
6、java代码编写
传入单个值用map存储,传入集合类型拼装后添加到map中去,就可以完成模板的导出
@Test
public void fe_map() throws Exception {
TemplateExportParams params = new TemplateExportParams(
"WEB-INF/doc/专项支出用款申请书_map.xls");
//单个值
Map<String, Object> map = new HashMap<String, Object>();
map.put("date", "2014-12-25");
map.put("money", 2000000.00);
map.put("upperMoney", "贰佰万");
map.put("company", "执笔潜行科技有限公司");
map.put("bureau", "财政局");
map.put("person", "JueYue");
map.put("phone", "1879740****");
// 集合数据
List<Map<String, String>> listMap = new ArrayList<Map<String, String>>();
for (int i = 0; i < 4; i++) {
Map<String, String> lm = new HashMap<String, String>();
lm.put("id", i + 1 + "");
lm.put("zijin", i * 10000 + "");
lm.put("bianma", "A001");
lm.put("mingcheng", "设计");
lm.put("xiangmumingcheng", "EasyPoi " + i + "期");
lm.put("quancheng", "开源项目");
lm.put("sqje", i * 10000 + "");
lm.put("hdje", i * 10000 + "");
listMap.add(lm);
}
map.put("maplist", listMap);
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
FileOutputStream fos = new FileOutputStream("C:\\Users\\CurvedMirror\\Desktop\\easypoi-test\\src\\test\\resources\\WEB-INF\\doc\\test02.xls");
workbook.write(fos);
fos.close();
}
7、最后附上easypoi文档的地址
文档地址,需要的自取 https://wwa.lanzoui.com/icnHYep0xmj
PS:学东西看文档是最实在的一种学习方式