vue+springmvc导出excel数据的实现代码


Posted in Javascript onJune 27, 2018

vue端处理

this.$http.get(this.service + '/user/excel',{responseType: 'blob'}).then(({data})=> {
   console.info(typeof data)
   var a = document.createElement('a');
   var url = window.URL.createObjectURL(data);
   a.href = url;
   a.download = '用户统计信息.xls';
   a.click();
   window.URL.revokeObjectURL(url);
  })

web端处理

int total=userBsService.getCount(null);
  List<UserVo> list=userBsService.getList(null, 1, total);
  String fileName = new Date().getTime() + "";
   XSSFWorkbook wb=new XSSFWorkbook();
   Sheet sheet=wb.createSheet();
   Row row0=sheet.createRow(0);
   String titleName[] = {"用户账号", "充值总金额", "邀请总人数", "社群组"};//列名
   for(int i=0;i<titleName.length;i++){
     sheet.setColumnWidth(i, 10 * 512); 
     row0.createCell(i).setCellValue(titleName[i]);
   }
   int i=0;
   for(UserVo v:list){
     Row row=sheet.createRow(i+1);
     if(!StringUtils.isEmpty(v.getMobile())){
        row.createCell(0).setCellValue(v.getMobile());
      }else{
        row.createCell(0).setCellValue(v.getEmail());
      }
     row.createCell(1).setCellValue(BigDecimalUtil.outputConvert(v.getAmount()));
     row.createCell(2).setCellValue(v.getCounts());
     row.createCell(3).setCellValue(v.getGroups());
    i++;
   }
   ByteArrayOutputStream os = new ByteArrayOutputStream();
  try{   
     try {
      wb.write(os);
      wb.close();
     } catch (IOException e) {
       e.printStackTrace();
     }
     byte[] content = os.toByteArray();
     InputStream is = new ByteArrayInputStream(content);
     response.reset();
     response.setContentType("application/vnd.ms-excel;charset=utf-8");
     response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName + ".xls").getBytes(), "iso-8859-1"));
     ServletOutputStream out = response.getOutputStream();
     BufferedInputStream bis = null;
     BufferedOutputStream bos = null;
     try {
       bis = new BufferedInputStream(is);
       bos = new BufferedOutputStream(out);
       byte[] buff = new byte[2048];
       int bytesRead;
       while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
         bos.write(buff, 0, bytesRead);
       }
     } catch (final IOException e) {
       throw e;
     } finally {
       if (bis != null)
         bis.close();
       if (bos != null)
         bos.close();
     }
   }catch (Exception e){
   }
  return null;

总结

以上所述是小编给大家介绍的vue+springmvc导出excel数据的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
关于javascript 回调函数中变量作用域的讨论
Sep 11 Javascript
javascript让setInteval里的函数参数中的this指向特定的对象
Jan 31 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 Javascript
浅谈JavaScript 的执行顺序
Aug 07 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
Sep 28 Javascript
jquery判断复选框是否选中进行答题提示特效
Dec 10 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
js中url对象化管理分析
Dec 29 Javascript
vue 实现通过手机发送短信验证码注册功能
Apr 19 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 Javascript
基于Fixed定位的框选功能的实现代码
May 13 Javascript
微信小程序中使用ECharts 异步加载数据的方法
Jun 27 #Javascript
浅谈Webpack下多环境配置的思路
Jun 27 #Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
Jun 27 #Javascript
详解关于vue-area-linkage走过的坑
Jun 27 #Javascript
详解nuxt sass全局变量(公共scss解决方案)
Jun 27 #Javascript
Vue引入sass并配置全局变量的方法
Jun 27 #Javascript
详解解决使用axios发送json后台接收不到的问题
Jun 27 #Javascript
You might like
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
javascript中Function类型详解
2015/04/28 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python如何重载模块实例解析
2018/01/25 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
numpy中矩阵合并的实例
2018/06/15 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
英国著名书店:Foyles
2018/12/01 全球购物
经典c++面试题二
2015/08/14 面试题
文秘自荐信
2014/06/28 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
就业推荐表院系意见
2015/06/05 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS