您的位置:首页 > 其它

Excel文件导出后台接口及工具类

2018-10-19 10:45 162 查看
版权声明:未经博主允许不得转载。 https://blog.csdn.net/qq_39629277/article/details/83177911

有时项目中会有需求,是将内容导出到excel表格中,参考网上的很多教程写的都比较多,现在将主要代码写成工具类,封装成jar包。
一、接下来要展示的Excel导出功能借助的是自己设置Excel模板,如下:

注意:
需要对第一列两行设置备注:
1.设置你要导出字段的区域,到第几行第几列就写上对应单元格号。(这里是两行两列,所以到B2),如图:

2.(1)设置items(存放你要导出信息的集合名,下面在写导出时产生的。)
(2)设置var(要导出信息的实体类名称)
(3)设置lastCell(与上面一样,字段涉及单元格的范围)

二、编写Excel导出业务:

//1.信息放进Excel模板
@RequestMapping(value = "/export", method = RequestMethod.POST)
public Map<String, Object> exports(@RequestBody QueryParam queryParam) throws IOException {
Map<String, Object> varMap = new HashMap<>();
//直接数据库查询出来要导出的全部信息。(如果需要指定导出的数据,前台传参,然后查询导出。这里默认导出所有信息。)
List<Person> personList = excelService.selectByFilter(queryParam);
//personList:上面Excel备注中要用到的集合名称
varMap.put("personList ", personList );
//templatePath:配置的Excel模板路径(比如idea可以设置注解,配置在application.yml中),StringUtil.serial():Excel文件加密后的名字,varMap:需要导出到Excel的信息
return ExcelUtil.exportFile(templatePath, "ExcelExport.xlsx", StringUtil.serial() + ".xlsx", "Excel导出信息.xlsx", varMap);
}
//2.下载Excel
@RequestMapping(value="/download", method = RequestMethod.GET)
public void download1(HttpServletRequest request, HttpServletResponse response, @RequestParam("fileName") 	String fileName,@RequestParam(name = "originName", required = false) String originName)     throws 	IOException {
if (!StringUtils.isEmpty(originName)) {
FileUtil.download(request, response, fileName, originName);
} else {
FileUtil.download(request, response, fileName);
}
}

说明:
ExcelUtil、FileUtil、StringUtils:Excel导入模板、Excel文件下载、Excel名称编码这几个类稍微有点多,已经封装成jar包,具体另作展示(若有需要可以私聊)。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: