在项目中我们会遇到很多导入导出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<QuarterAssessmentEntity> 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();
}
}FileExportUtil工具类点击进入
后台代码写完后,进入我们刚才保存的ftl文件中编辑
以为后台写的是list 所以用#List 来循环表头之下的这一列
as 之前的 quarterAssessmentEntities 是我们上一步后台在map中put的名字
as 之后可以随便起名字 用自己起的名字来点出来对应的属性,即可取到对应的值

至此教程就结束了!
测试导出的数据

标签: freemarker java Excel 导入导出
文章来源:
不凡
版权声明:本站所发布的全部内容部分源于互联网搬运,仅供用于学习和交流,如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:bufanYes@163.com
评论列表
博主,第19行代码的逻辑是什么
@Gcc 为了把查出来的数据放到Excel中遍历展示