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 模式实例 观察者模式
Oct 24 Javascript
Js中的onblur和onfocus事件应用介绍
Aug 27 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
关于jQuery判断元素是否存在的问题示例探讨
Jul 21 Javascript
JavaScript中匿名、命名函数的性能测试
Sep 04 Javascript
jquery实现炫酷的叠加层自动切换特效
Feb 01 Javascript
javascript 常见功能汇总
Jun 11 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
Feb 17 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
Dec 19 Javascript
vue实现搜索过滤效果
May 28 Javascript
html5 录制mp3音频支持采样率和比特率设置
Jul 15 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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
Codeigniter框架实现获取分页数据和总条数的方法
2014/12/05 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
php bootstrap实现简单登录
2016/03/08 PHP
php判断目录存在的简单方法
2019/09/26 PHP
PHP强制转化的形式整理
2020/05/22 PHP
如何用javascript判断录入的日期是否合法
2007/01/08 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
JavaScript多图片上传案例
2015/09/28 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
JavaScript实现给定时间相加天数的方法
2016/01/25 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
深入理解js promise chain
2016/05/05 Javascript
JavaScript伪数组用法实例分析
2017/12/22 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
深入理解Antd-Select组件的用法
2020/02/25 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
Python将xml和xsl转换为html的方法
2015/03/10 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
德国网上药房:Apotal
2017/04/04 全球购物
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
旅行社各个岗位职责
2014/03/15 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
环境整治工作方案
2014/05/18 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
Python中相见恨晚的技巧
2021/04/13 Python