IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> EasyPOI的Excel模板导出(多个sheet) -> 正文阅读

[开发工具]EasyPOI的Excel模板导出(多个sheet)

1.引入依赖

 <dependency>
        <groupId>cn.afterturn</groupId>
        <artifactId>easypoi-base</artifactId>
        <version>4.4.0</version>
    </dependency>
    <dependency>
        <groupId>cn.afterturn</groupId>
        <artifactId>easypoi-web</artifactId>
        <version>4.4.0</version>
    </dependency>
    <dependency>
        <groupId>cn.afterturn</groupId>
        <artifactId>easypoi-annotation</artifactId>
        <version>4.4.0</version>
    </dependency>

2.Excel模板
每个sheet的模板都是一样的
在这里插入图片描述
3.代码

 		// 将所有sheet使用得map进行包装
        int i = 0;
        Map<Integer, List<Map<String, Object>>> sheetMap = new HashMap<>();
        //查询数据,此处省略,随便造的数据
        Map<Object, List<ExportData>> dataMap = new HashMap<>();
        dataMap.put("1", list1);
        dataMap.put("2", list2);
        for (Object o : dataMap.keySet()) {
        List<ExportData> list = dataMap.get(o);
        List<Map<String, Object>> mapList = new ArrayList<>();
        SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd");
        //累计借总笔数
        long total = list.stream().filter(exportData -> "1".equals(exportData.getLoan())).count();
        //累计借金额
        BigDecimal lendTotal = list.stream().filter(exportData -> "1".equals(exportData.getLoan())).map(ExportData::getAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
        //累计贷金额
        BigDecimal loanTotal = list.stream().filter(exportData -> "2".equals(exportData.getLoan())).map(ExportData::getAmount).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
        Map<String, Object> map = new HashMap<String, Object>();
        // 设置sheetName,若不设置该参数,则使用得原本的sheet名称
        map.put(SHEET_NAME, list.get(0).getOutAccountName());
        map.put("outAccount", list.get(0).getOutAccount());
        map.put("outAccountName", list.get(0).getOutAccountName());
        map.put("createDate", simpleFormat.format(new Date()));
        map.put("loanAmount", loanTotal);
        map.put("totalLend", total);
        map.put("balance", list.get(list.size() - 1).getBalance());
        map.put("lendAmount", lendTotal);
        map.put("startTime", list.get(0).getValueDate());
        map.put("endTime", list.get(0).getValueDate());
        List<Map<String, String>> listMap = new ArrayList<Map<String, String>>();
        for (ExportData exportData : list) {
            Map<String, String> lm = new HashMap<String, String>();
            lm.put("outAccount", exportData.getOutAccount());
            lm.put("outAccountName", exportData.getOutAccountName());
            lm.put("currency", "人民币");
            lm.put("tradingHours", exportData.getTradingHours());
            lm.put("valueDate", exportData.getValueDate());
            lm.put("tradeType", exportData.getTradeType());
            lm.put("amount", String.valueOf(exportData.getAmount()));
            lm.put("loan", "1".equals(exportData.getLoan()) ? "借" : "贷");
            lm.put("balance", String.valueOf(exportData.getBalance()));
            lm.put("dealFlow", exportData.getDealFlow());
            lm.put("receiptAccountName", exportData.getReceiptAccountName());
            lm.put("receiptAccount", exportData.getReceiptAccount());
            lm.put("receiptAccountWhereitis", exportData.getReceiptAccountWhereitis());
            listMap.add(lm);
        }
        map.put("maplist", listMap);
        mapList.add(map);
        sheetMap.put(i, mapList);
        i++;
    }
     	// 获取导出excel指定模版
        TemplateExportParams params = new TemplateExportParams("template/模板.xls");
        // 导出excel
        Workbook workbook = ExcelExportUtil.exportExcelClone(sheetMap, params);
        FileOutputStream fos = new FileOutputStream("D:/Project");
        workbook.write(fos);
        fos.close();

4.代码运行后导出内容如下:
在这里插入图片描述
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:57:13  更:2022-04-22 18:57:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:41:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码