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 设计模式(二) 闭包
May 26 Javascript
读jQuery之八 包装事件对象
Jun 21 Javascript
JS回调函数的应用简单实例
Sep 17 Javascript
jQuery实现冻结表格行和列
Apr 29 Javascript
js+html5实现canvas绘制椭圆形图案的方法
May 21 Javascript
聊聊JavaScript如何实现继承及特点
Apr 07 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
Apr 25 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
Dec 15 Javascript
微信小程序实现弹出菜单功能
Jun 12 Javascript
详解Vue串联过滤器的使用场景
Apr 30 Javascript
JavaScript onclick事件使用方法详解
May 15 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
Sep 09 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遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
详解PHP中的PDO类
2015/07/06 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
[42:20]2014 DOTA2华西杯精英邀请赛5 24 DK VS NewBee
2014/05/25 DOTA
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python基础教程之分支、循环简单用法
2016/06/16 Python
网站渗透常用Python小脚本查询同ip网站
2017/05/08 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
python处理数据,存进hive表的方法
2018/07/04 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
一道Delphi上机题
2012/06/04 面试题
电脑教师的教学自我评价
2013/11/26 职场文书
合作协议书模板
2014/10/10 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书