最近有需要导出用户留言的数据,包含用户留言的上传的照片 在网上找了很多,整合一些,最后实现了业务,导出来有点丑,后续再做优化,代码功能有局限性,看到的小伙伴如果有好的想法可以说说,让我学习学习 最后实现的效果(似乎一个格子不能放多张图片?) 直接上代码:
导入maven依赖
org.apache.poi
poi
3.9
Controller类
/**
* 下载用户留言信息
* @date 2021/01/11
* @param query
* @param request
* @param response
*/
@ApiOperation(value = "下载用户留言信息",
notes = "")
@RequestMapping(value="exeportData",method={RequestMethod.POST,RequestMethod.GET})
public void exeportData(@RequestBody(required=false) UserMessageQuery query, HttpServletRequest request, HttpServletResponse response) throws Exception {
if(query==null){
query = new UserMessageQuery();
}
query.setVenderId(PublicUtil.getCustomerId()); //这是我的查询条件
//查询任务
List data = userMessageService.selectList(query);
Map objMap = new HashMap();
List list = new ArrayList();
String path= "/data/nginxd/sportsApplets/excelDeleteImage/";
if(data.size()>0){
for (UserMessage userMessage: data) {
//通过留言id去获取留言上传的图片列表
List imgList = userMessageImgService.selectImg(userMessage.getId());
UserMessageExcel excelObj = new UserMessageExcel();
excelObj.setNickName(userMessage.getNickName());
excelObj.setCreateTime(PublicUtil.getDateString(userMessage.getCreateTime()));
excelObj.setContent(userMessage.getContent());
File[] files = new File[imgList.size()];
if(imgList.size()>0){
for (int i =0 ; i |