在项目中我们会遇到很多导入导出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:xujinxiao@126.com
评论列表
博主,第19行代码的逻辑是什么
@Gcc 为了把查出来的数据放到Excel中遍历展示