最近有需要导出用户留言的数据,包含用户留言的上传的照片

在网上找了很多,整合一些,最后实现了业务,导出来有点丑,后续再做优化,代码功能有局限性,看到的小伙伴如果有好的想法可以说说,让我学习学习
最后实现的效果(似乎一个格子不能放多张图片?)

直接上代码:

导入maven依赖

<!-- poi读取excle --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.9</version></dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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<UserMessage> data = userMessageService.selectList(query);
    Map<span class="token generics function"><span class="token punctuation">&lt;</span>String<span class="token punctuation">,</span> Object<span class="token punctuation">&gt;</span></span> objMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">HashMap</span><span class="token operator">&lt;</span><span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>List<span class="token operator">&lt;</span>Map<span class="token generics function"><span class="token punctuation">&lt;</span>String<span class="token punctuation">,</span>Object<span class="token punctuation">&gt;</span></span><span class="token operator">&gt;</span> list <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">ArrayList</span><span class="token operator">&lt;</span><span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>String path<span class="token operator">=</span> <span class="token string">"/data/nginxd/sportsApplets/excelDeleteImage/"</span><span class="token punctuation">;</span><span class="token keyword">if</span><span class="token punctuation">(</span>data<span class="token punctuation">.</span><span class="token function">size</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">&gt;</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span><span class="token keyword">for</span> <span class="token punctuation">(</span>UserMessage userMessage<span class="token operator">:</span> data<span class="token punctuation">)</span> <span class="token punctuation">{<!-- --></span><span class="token comment">//通过留言id去获取留言上传的图片列表</span>List<span class="token generics function"><span class="token punctuation">&lt;</span>String<span class="token punctuation">&gt;</span></span> imgList <span class="token operator">=</span> userMessageImgService<span class="token punctuation">.</span><span class="token function">selectImg</span><span class="token punctuation">(</span>userMessage<span class="token punctuation">.</span><span class="token function">getId</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>UserMessageExcel excelObj <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">UserMessageExcel</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>excelObj<span class="token punctuation">.</span><span class="token function">setNickName</span><span class="token punctuation">(</span>userMessage<span class="token punctuation">.</span><span class="token function">getNickName</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>excelObj<span class="token punctuation">.</span><span class="token function">setCreateTime</span><span class="token punctuation">(</span>PublicUtil<span class="token punctuation">.</span><span class="token function">getDateString</span><span class="token punctuation">(</span>userMessage<span class="token punctuation">.</span><span class="token function">getCreateTime</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>excelObj<span class="token punctuation">.</span><span class="token function">setContent</span><span class="token punctuation">(</span>userMessage<span class="token punctuation">.</span><span class="token function">getContent</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>File<span class="token punctuation">[</span><span class="token punctuation">]</span> files <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">File</span><span class="token punctuation">[</span>imgList<span class="token punctuation">.</span><span class="token function">size</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">]</span><span class="token punctuation">;</span><span class="token keyword">if</span><span class="token punctuation">(</span>imgList<span class="token punctuation">.</span><span class="token function">size</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token operator">&gt;</span><span class="token number">0</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span><span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token keyword">int</span> i <span class="token operator">=</span><span class="token number">0</span> <span class="token punctuation">;</span> i<span class="token operator">&lt;</span> imgList<span class="token punctuation">.</span><span class="token function">size</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>String filePath <span class="token operator">=</span> ImageExcelUtil<span class="token punctuation">.</span><span class="token function">saveFile</span><span class="token punctuation">(</span>imgList<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>i<span class="token punctuation">)</span><span class="token punctuation">,</span> path<span class="token punctuation">)</span><span class="token punctuation">;</span>  <span class="token comment">//由于我的是远程服务器的网络图片,所以我先保存到本地,如果是本地服务器图片,不需要保存这一步</span>files<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">File</span><span class="token punctuation">(</span>filePath<span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token punctuation">}</span><span class="token punctuation">}</span>excelObj<span class="token punctuation">.</span><span class="token function">setImages</span><span class="token punctuation">(</span>files<span class="token punctuation">)</span><span class="token punctuation">;</span>objMap <span class="token operator">=</span> ImageExcelUtil<span class="token punctuation">.</span><span class="token function">javaBean2Map</span><span class="token punctuation">(</span>excelObj<span class="token punctuation">)</span><span class="token punctuation">;</span>list<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span>objMap<span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token punctuation">}</span><span class="token punctuation">}</span>Object<span class="token punctuation">[</span><span class="token punctuation">]</span> objects <span class="token operator">=</span> objMap<span class="token punctuation">.</span><span class="token function">keySet</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">toArray</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>String<span class="token punctuation">[</span><span class="token punctuation">]</span> titles <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">String</span><span class="token punctuation">[</span>objects<span class="token punctuation">.</span>length<span class="token punctuation">]</span><span class="token punctuation">;</span>Map<span class="token generics function"><span class="token punctuation">&lt;</span>String<span class="token punctuation">,</span> String<span class="token punctuation">&gt;</span></span> map <span class="token operator">=</span> <span class="token function">getMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token keyword">for</span><span class="token punctuation">(</span><span class="token keyword">int</span> i<span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">;</span>i<span class="token operator">&lt;</span>titles<span class="token punctuation">.</span>length<span class="token punctuation">;</span>i<span class="token operator">++</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>String key <span class="token operator">=</span> objects<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">.</span><span class="token function">toString</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>titles<span class="token punctuation">[</span>i<span class="token punctuation">]</span> <span class="token operator">=</span> map<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>key<span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token punctuation">}</span>String fileName <span class="token operator">=</span> <span class="token string">"用户留言信息记录"</span><span class="token operator">+</span>PublicUtil<span class="token punctuation">.</span><span class="token function">getShortDateString</span><span class="token punctuation">(</span><span class="token keyword">new</span> <span class="token class-name">Date</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>response<span class="token punctuation">.</span><span class="token function">setContentType</span><span class="token punctuation">(</span><span class="token string">"application/vnd.ms-excel"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>response<span class="token punctuation">.</span><span class="token function">addHeader</span><span class="token punctuation">(</span><span class="token string">"Content-Disposition"</span><span class="token punctuation">,</span> <span class="token string">"attachment; filename="</span><span class="token operator">+</span>fileName<span class="token punctuation">)</span><span class="token punctuation">;</span>ImageExcelUtil<span class="token punctuation">.</span><span class="token function">excelOut</span><span class="token punctuation">(</span>titles<span class="token punctuation">,</span>list<span class="token punctuation">.</span><span class="token function">size</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span>list<span class="token punctuation">,</span>fileName<span class="token punctuation">,</span> response<span class="token punctuation">,</span> path<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token comment">/*** 每一列数据的标题* @date 2021/01/11* @return Map&lt;String,String&gt;*/</span>
<span class="token keyword">public</span> Map<span class="token generics function"><span class="token punctuation">&lt;</span>String<span class="token punctuation">,</span> String<span class="token punctuation">&gt;</span></span> <span class="token function">getMap</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{<!-- --></span>Map<span class="token generics function"><span class="token punctuation">&lt;</span>String<span class="token punctuation">,</span> String<span class="token punctuation">&gt;</span></span> map <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">HashMap</span><span class="token operator">&lt;</span><span class="token operator">&gt;</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>map<span class="token punctuation">.</span><span class="token function">put</span><span class="token punctuation">(</span><span class="token string">"nickName"</span><span class="token punctuation">,</span><span class="token string">"用户昵称"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>map<span class="token punctuation">.</span><span class="token function">put</span><span class="token punctuation">(</span><span class="token string">"createTime"</span><span class="token punctuation">,</span><span class="token string">"留言时间"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>map<span class="token punctuation">.</span><span class="token function">put</span><span class="token punctuation">(</span><span class="token string">"content"</span><span class="token punctuation">,</span><span class="token string">"留言内容"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>map<span class="token punctuation">.</span><span class="token function">put</span><span class="token punctuation">(</span><span class="token string">"images"</span><span class="token punctuation">,</span><span class="token string">"图片"</span><span class="token punctuation">)</span><span class="token punctuation">;</span><span class="token keyword">return</span> map<span class="token punctuation">;</span>
<span class="token punctuation">}</span>


http://www.taodudu.cc/news/show-4212702.html

相关文章:

  • 输入两个正整数num1、num2,计算并输出它们的和、差、积、整数商和余数
  • C语言之自增自减
  • Python产生100个1—100的随机数放入列表Num中,输出列表中的数,然后将它们排序,并输出排序结果。
  • Python中num += 1的意思
  • Pytorch dataloader中的num_workers (选择最合适的num_workers值)
  • js基础试题及答案(一)
  • c语言中num =10,num/100%10 这是什么意思求详细的计算逻辑
  • 如何判断一个数的二进制中1的个数(num = (num - 1))
  • JavaScript基础练习题(一)
  • LeetCode 43. 字符串相乘【c++/java详细题解】
  • 【Flutter】Dart 数据类型 数字类型 ( Dart 文件创建 | num 类型 | int 类型 | double 类型 | num 相关 API )
  • matlab中numden函数,numden函数 MATLAB里面numden函数有什么用?
  • python中num函数是什么意思_如何理解python3函数中num的用法?
  • num在c语言中作用,num是什么词性
  • Java num+=1、num++与num=num+1的区别(通俗易懂,附带例子)
  • Leetcode.43:(Python)给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
  • 随笔-给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和
  • 编写程序,由键盘输入三个整数分别存入变量num1,num2,num3中,对它们进行排序, 使用if-else结构,并按从小到大的顺序输出
  • 字符串相乘(给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。)
  • 编写程序:由键盘输入三个整数分别存入变量num1、num2、num3, 对它们进行排序(使用 if-else if-else),并且从小到大输出。
  • 由键盘输出三个整数分别存入变量num1,num2,num3,进行排序从小到大输出
  • 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
  • 数据库学习之num1
  • 自学Java笔记2 2021-3-28更
  • 组合数学 多重集的排列和组合
  • C++ STL求全排列和组合
  • Python中的排列和组合
  • java排列和组合算法
  • 老婆有外遇系列之一--亲子…
  • 华为鸿蒙系统的技术特性,华为鸿蒙系统来了,还有这四大技术特性

java导出excel包含图片相关推荐

  1. EasyExcel根据自定义模板导出Excel(包含图片、表格)

    使用EasyExcel根据模板导出excel,包含图片.表格 提示:其实使用EasyExcel根据模板导出一个excel并不难,难点在于指定图片的位置 文章目录 使用EasyExcel根据模板导出ex ...

  2. java 导出excel 附带图片

    java 导出excel 附带图片,思路将后台数据里保存的图片url转为file ,添加到excel里导出 代码示例 String imgPath = filePath +item.getFilePa ...

  3. java导出excel带图片_JAVA的poi实现模版导出excel(带图片).doc

    JAVA的poi实现模版导出excel(带图片) 下面是本人使用java的poi实现使用模板到处excel,内容包含图片,使用两种不同的方式实现其到处excel.但是使用jxl实现到处excel只能到 ...

  4. Java使用POi导出Excel(包含图片)

    Java使用poi组件导出excel报表,能导出excel报表的还可以使用jxl组件,但jxl想对于poi功能有限,jxl应该不能载excel插入浮动层图片,poi能很好的实现输出excel各种功能, ...

  5. java导出excel插入图片

    首项需要的jar包有: 1.poi-3.8-20120326.jar 2.commons-codec-1.10.jar 代码:package com.demo; import java.awt.ima ...

  6. poi导出excel包含图片,弹出页面下载框

    首先添加有关的poi依赖jar包,如果是一个maven项目只需要在pom.xml中添加依赖. <dependency><groupId>org.apache.poi</g ...

  7. java文件无法导出excel文件,【excel表格文件格式无效】java导出excel,excel打不开,报文件格式无效,怎么解决!...

    excel提示 打开的文件.xls的格式与文件扩展名不一致怎么办 如果打开文件的格式与文件的扩展名不一致,只要能够打开就不用去管他. java导出excel,excel打不开,报文件格式无效,怎么解决 ...

  8. JAVA导出EXCEL实现

    ##JAVA导出EXCEL实现的多种方式 java导出Excel的方法有多种,最为常用的方式就是使用第三方jar包,目前POI和JXL是最常用的二方包了,也推荐使用这两种. ###POI实现 POI这 ...

  9. Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框

    原文转载:http://blog.csdn.net/evangel_z/article/details/7332535 目录(?)[+] 在web开发中,有一个经典的功能,就是数据的导入导出.特别是数 ...

最新文章

  1. 3gpp文件头文件解析_居于LLVM 的命令行参数解析
  2. Building Android App Without an IDE
  3. 如何撬动机器学习的冰山一角?
  4. android 如何 root权限获取,如何获取android手机root权限获取
  5. Java 约瑟夫环(循环链表解决)
  6. Linux学习笔记---使用MfgTool工具烧写自己的系统(二)
  7. 解决jQgrid 设置列宽度自动调整时, 出现滚动条问题.
  8. 机器学习实战(十二)降维(PCA、SVD)
  9. [HNOI2011]数学作业 题解
  10. 并发、可重入性与信号安全
  11. 回顾安全多方计算-SMPC(MPC)
  12. STM32F407——串口通信
  13. idea配置阿里格式化模板+注释模板
  14. Imagination开放PowerVR光线追踪技术授权
  15. 计算机远程桌面连接软件,windows7远程桌面连接软件 提取自最新windows7,可运行于XP...
  16. Eureka No active profile set, falling back to default profiles: default
  17. c# 金额小写转大写(财务金额)
  18. 计算机英语作文50词左右带翻译,找十篇英语作文,带翻译,50个词
  19. Python,pandas中DataFrame的选取总结
  20. SSM+Layui实现上传图片

热门文章

  1. 学习《可复制的领导力》有感
  2. IOS 跳转导航地图
  3. 银河麒麟V10安装虚拟机
  4. C#设置开机启动时报错,提示“对注册表项“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run访问被拒绝”
  5. pandas——分组与聚合
  6. SpringCloud(3)--服务熔断降级
  7. dockerkubernetes教程,隔壁都馋哭了
  8. 手把手教你处理 JS 逆向之图片伪装
  9. 【项目实战——emos在线办公系统】:组件之间的相互使用、请假页面、添加请假组件之间的关系梳理、model和v-model
  10. 使用java、html5以及wPaint实现在线编辑图片并保存到FTP中的功能,在线图片为iis服务