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 innerText和innerHtml应用
Jan 28 Javascript
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
May 27 Javascript
JavaScript对象、属性、事件手册集合方便查询
Jul 04 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
Nov 07 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
Nov 09 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
源码分析Vue.js的监听实现教程
Apr 23 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
May 30 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
详解Vue SPA项目优化小记
Jul 03 Javascript
基于elementUI实现图片预览组件的示例代码
Mar 31 Javascript
Node.js API详解之 repl模块用法实例分析
May 25 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
《魔兽世界》惊魂幻象将获得调整
2020/03/08 其他游戏
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
html+js实现动态显示本地时间
2013/09/21 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
Python中title()方法的使用简介
2015/05/20 Python
Python中threading模块join函数用法实例分析
2015/06/04 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
潘婷洗发水广告词
2014/03/14 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
python随机打印成绩排名表
2021/06/23 Python
Python3的进程和线程你了解吗
2022/03/16 Python
python 判断文件或文件夹是否存在
2022/03/18 Python