添加依赖

           <dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>easyexcel</artifactId>
				<version>2.2.6</version>
			</dependency>
        

我的代码是读取填充具体可以看官方文档写的很清楚 传送阵
源文件是这样子的
在这里插入图片描述

 /**
     * 工信部报送模板xls 导出使用
     * @return
     */
    @Override
    public Integer FtDocResult() {

        // 模板注意 用{name} 来表示你要用的变量 用{.name} 表示传的是集合
        //这个地址就是读取文件的格式,按照这个格式去填充数据,这个文件不会改变
        String templateFileName ="E:\\YuanDongJu\\haining-guarantee\\fante-business\\src\\main\\java\\com\\ruoyi\\test\\工信部报送模板.xls";
          // 这个就是按照上面的文件格式,填充好数据的文件
        String fileName = file.getPath()+"\\工信部报送模板-" + System.currentTimeMillis() + ".xls";

        FileSystemView fsv = FileSystemView.getFileSystemView();
        //获取电脑桌面路径
        File file =fsv.getHomeDirectory();
      
        //获取数据    financingStatus 用信状态 2 成功                                                          financingPerfect 是否完善 1 是已经完善,所需的资料都存在
        //这个就是一个list实体类,实体类的字段要和xls表中{name}中的数据对应
        List<FtDocResult> ftDocResultslist = docEasyMapper.FtDocResult(ActivitiEnum.AUDIT_STATUS.PASS.getStatus(), BizConstants.StrNum.ONE);
        //储存数据
        List<DocEasy> easyList = new ArrayList<>();

        DocEasy easy = new DocEasy();
        //遍历修改
        ftDocResultslist.forEach((data)->{
            //转万元
            data.getFtDoc().setSalesRevenue(Arith.yuanToWan(data.getFtDoc().getSalesRevenue()));
            data.getFtDoc().setTotalAssets(Arith.yuanToWan(data.getFtDoc().getTotalAssets()));
            data.getFtDoc().setGuaranteeAmount(Arith.yuanToWan(data.getFtDoc().getGuaranteeAmount()));
            //对象数据复制
            BeanUtils.copyProperties(data.getFtDoc(),easy);
            //放款银行名称是 融资用信中的:担保银行字段
            easy.setBankName(data.getFtFinancing().getGuaranteeBank());
            //添加
            easyList.add(easy);
        });
        // EasyExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(easyList);

        //这里 会填充到第一个sheet, 然后文件流会自动关闭
        ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build();
        WriteSheet writeSheet = EasyExcel.writerSheet().build();
        excelWriter.fill(easyList, writeSheet);
        excelWriter.fill(easyList, writeSheet);
        // 关闭流
        excelWriter.finish();

        return 1;
    }

效果图在这里插入图片描述
还有更多强大的用法还是去官网看吧,写的还是蛮清楚的
传送阵

Logo

快速构建 Web 应用程序

更多推荐