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 相关文章推荐
教你如何解密js/vbs/vbscript加密的编码异处理小结
Jun 25 Javascript
jQuery操作input type=radio的实现代码
Jun 14 Javascript
DIV+CSS+JS不间断横向滚动实现代码
Mar 19 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
JS判断元素是否在数组内的实现代码
Mar 30 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
May 12 Javascript
jQuery插件zTree实现的多选树效果示例
Mar 08 Javascript
写给小白看的JavaScript异步
Nov 29 Javascript
iView框架问题整理小结
Oct 16 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 Javascript
Vue3中的Refs和Ref详情
Nov 11 Vue.js
微信小程序中使用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下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
php加密之discuz内容经典加密方式实例详解
2017/02/04 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
Jquery作者John Resig自己封装的javascript 常用函数
2009/11/09 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
如何让你的Lightbox支持滚轮缩放及Base64图片
2014/12/04 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
input框中的name和id的区别
2016/11/16 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
js实现随机抽奖
2020/03/19 Javascript
Python 实现网页自动截图的示例讲解
2018/05/17 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Python MySQL 日期时间格式化作为参数的操作
2020/03/02 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
Python日志打印里logging.getLogger源码分析详解
2021/01/17 Python
python推导式的使用方法实例
2021/02/28 Python
利用CSS3实现毛玻璃效果示例源码
2016/09/25 HTML / CSS
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
入党积极分子思想汇报范文
2014/01/05 职场文书
个人求职信范例
2014/01/29 职场文书
岗位工作说明书
2014/07/29 职场文书
六五普法学习心得体会
2016/01/21 职场文书
python基础之文件处理知识总结
2021/05/23 Python