关于excel:excel-按照模板导出-springboot实战电商项目mall4j

10次阅读

共计 2136 个字符,预计需要花费 6 分钟才能阅读完成。

在统计数据的时候,咱们须要导出一些特定格局的 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 开源商城零碎

正文完
 0