ftl模板导出excel_使用freemarker模板引擎导出word或excel文件(代码实现)

在项目中我们会遇到很多导入导出excel或者word 有时候一些比较复杂的表格设计用freemarker 来做为模板导出还是很不错的

具体操作

我们要针对该列表做数据导出模板

在桌面右键新建一个excel文件,打开编辑为列表格式一样的表格

文件,另存为xml格式的文件

到桌面把刚才另存的文件后缀从xml改为ftl (实测不该后缀也可以使用)

  

 

根据自己项目要查询出导出的数据@RequestMapping("/exportExcel")

public void exportExcel(HttpServletResponse response)throws Exception{

Map dataMap=new HashMap();

dataMap.put("Name",getPara("Name"));

dataMap.put("InspectResult",getPara("InspectResult"));

dataMap.put("Year",getPara("Year"));

dataMap.put("InspectResult",getPara("InspectResult"));

dataMap.put("CheckStatus",getPara("CheckStatus"));

//filePath 是刚才上一步我们保存的ftl文件(文件名字最好为英文 中文有可能出现乱码等一些其他问题)

String filePath = "/templates/filetemplate/exportQuarterAssessment.ftl";

//quarterAssessmentEntities 为我要导出的数据(导出的数据可以是list 也可以是map 根据自己的实际情况而定)

List quarterAssessmentEntities=quarterAssessmentService.exportList(dataMap);

Map mapData = new HashMap();

mapData.put("quarterAssessmentEntities", quarterAssessmentEntities);

try {

//FileExportUtil 为freemarker生成excel的工具类 可在本站搜索FileExportUtil 并下载该工具类

File file = FileExportUtil.createFile(filePath, mapData);

FileExportUtil.downWord(response, file, "季度考核结果", "xls");//此处后缀写xls(excel) 或者doc(word) 都可以

} catch (IOException e) {

e.printStackTrace();

}

}

后台代码写完后,进入我们刚才保存的ftl文件中编辑

以为后台写的是list 所以用#List 来循环表头之下的这一列

as 之前的 quarterAssessmentEntities  是我们上一步后台在map中put的名字

as 之后可以随便起名字 用自己起的名字来点出来对应的属性,即可取到对应的值

至此教程就结束了!

测试导出的数据

文章来源:

不凡

版权声明:本博客为非营利性个人网站,除部分有明确来源的作品外,所发布所有作品的著作权均为本站所有。

赞 1

你可能感兴趣的:(ftl模板导出excel)