前言
这篇文章是要记载在开发过程中实现:使用自己定义的excel模板文件,将list数据填入模板文件中。
说明
这里只记录了一些功能要点和使用时要注意的地方!!!
详细
- 引入依赖
这里使用的是easypoi来实现这个功能,先引入依赖包,版本是4.1.2
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.1.2</version>
</dependency>
- 编写服务类的方法逻辑
/**
* @param dataList---需要导出的数据集合
* @param file---模板文件
*/
public Workbook exportExcel(List<EntityVO> dataList, InputStream file){
Workbook workbooks = null;
try {
//将模板文件转成Workbook
Workbook workbook = new HSSFWorkbook(file);
//创建模板输出参数
TemplateExportParams params = new TemplateExportParams();
params.setTemplateWb(workbook);
//创建实际值的集合
Map<String, Object> dataMap = new HashMap<>();
//输出列表集合
List<Map<String, Object>> listMap = new ArrayList<>();
for (EntityVO : dataList) {
Map<String, Object> lm = new HashMap<>();
lm.put("index", vo.getIndex());
lm.put("year", vo.getYear());
lm.put("month", vo.getMonth());
lm.put("xingming", vo.getXingming());
lm.put("remarks", vo.getRemarks());
listMap.add(lm);
}
dataMap.put("maplist", listMap);
workbooks = ExcelExportUtil.exportExcel(params, dataMap);
}
}catch (Exception e){
log.error(e.getMessage());
}
return workbooks;
}
这个方法需要传入两个参数:
- 要导出的数据列表
dataList - 模板文件
file
返回的数据是已经把导出数据填充到模板文件的Workbook。之所以方法的返回数据形式是Workbook,是因为我这里开发逻辑就到这了。
如果要把其处理好的文件导出来:
- 可以用写入到磁盘某个位置
FileOutputStream fos = new FileOutputStream("D:/ceshi.xls");
workbook.write(fos);
- 也可以返回到前端以供下载使用
ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
还有模板的创建,根据实际导出的内容创建模板里面的定位格。如图所示:

目前就想到记录这些了,如果缺了哪些内容,告诉哈猿进行补充。
文章介绍了如何在开发中利用Easypoi库,将List数据填充到预先定义的Excel模板文件中。首先引入easypoi的依赖,然后在服务类中编写方法,将模板文件转换为Workbook对象,创建TemplateExportParams并设置实际值的集合,最后导出Excel。方法返回填充后的Workbook对象,可用于保存到磁盘或直接发送到前端供下载。
8096

被折叠的 条评论
为什么被折叠?



