在统计数据的时候,咱们须要导出一些特定格局的excel。咱们能够应用poi写代码来解决格局,这样会导致写很多的代码来搞定,如果将某两个特定的表格数据的地位或者色彩标记做小小的改变,咱们只有调整一下代码能力搞定。那有没有一种简略的办法导出特定排列的excel呢?答案当然是有的,这里举荐easypoi来解决这个问题。如有更好解决方案欢送留言探讨哦。

springboot实战电商我的项目mall4j (https://gitee.com/gz-yami/mall4j)

java开源商城零碎

1.easypoi简介

easypoi性能如同名字easy,主打的性能就是容易,让一个没见接触过poi的人员就能够不便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简略的注解和模板语言(相熟的表达式语法),实现以前简单的写法。easypoi官网文档

2.为什么选用easypoi

次要看重easypoi的两个性能,Excel模板导出,html预览。Excel模板导出,是为了少写一下反复大量的代码,导出一些简单排列的表格。html预览,有时候咱们想先看一些导出成果,不想导出,就须要这个html预览的性能。当然easypoi还有一些其余的性能,请到esaypoi的官网文档去查看吧。

3.引入依赖

咱们这里引入是spring boot 的依赖,其余的能够到官网查看,参照引入。

<dependency>    <groupId>cn.afterturn</groupId>    <artifactId>easypoi-spring-boot-starter</artifactId>    <version>4.0.0</version></dependency>

4.Excel模板导出

先定义一个excel的模板,如图所示:

而后定义好相干变量,如图所示

5.代码局部

 @RequestMapping("test")    public void getExcelInfo(ModelMap modelMap, HttpServletRequest request,                             HttpServletResponse response) throws IOException {                 // 模板在我的项目中的门路        TemplateExportParams params = new TemplateExportParams(                "doc/testExcelTemplate.xlsx");                       Map<String, Object> map = new HashMap<String, Object>(16);        map.put("code", "A20210101");        map.put("applyTime", "2021-01-01");        map.put("total", 40000);        map.put("company", "执笔潜行科技有限公司");        map.put("remark", "测试导出");        map.put("year", "2021");        map.put("month", "04");        map.put("day", "25");        map.put("name", "JueYue");        map.put("phone", "1879740****");        List<Map<String, String>> listMap = new ArrayList<>();        for (int i = 0; i < 4; i++) {            Map<String, String> lm = new HashMap<String, String>(16);            lm.put("amountType", i + "测试");            lm.put("code", "A001");            lm.put("subjectName", "设计");            lm.put("projectName", "EasyPoi " + i + "期");            lm.put("fullName", "Ces 我的项目");            lm.put("bankCard", "6216610200016587010");            lm.put("bankName", "中国银行");            lm.put("applyAmount", i * 10000 +"");            lm.put("approvedAmount", i * 10000 +"");            listMap.add(lm);        }        map.put("list", listMap);        modelMap.put(TemplateExcelConstants.FILE_NAME, "专项收入用款申请书_map.xls");        modelMap.put(TemplateExcelConstants.PARAMS, params);        modelMap.put(TemplateExcelConstants.MAP_DATA, map);        PoiBaseView.render(modelMap, request, response,                TemplateExcelConstants.EASYPOI_TEMPLATE_EXCEL_VIEW);    }

输出门路拜访下载测试,后果如图:

这用咱们就不必去写款式了,只须要建设好模板,填数据就能够了。

springboot实战电商我的项目mall4j (https://gitee.com/gz-yami/mall4j)

java开源商城零碎