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 相关文章推荐
JScript中的&quot;this&quot;关键字使用方式补充材料
Mar 08 Javascript
JavaScript编程的单例设计模讲解
Nov 10 Javascript
JavaScript_ECMA5数组新特性详解
Jun 12 Javascript
jQuery加密密码到cookie的实现代码
Apr 18 jQuery
JS实现加载时锁定HTML页面元素的方法
Jun 24 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
Sep 11 Javascript
vue页面离开后执行函数的实例
Mar 13 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
Vue循环中多个input绑定指定v-model实例
Aug 31 Javascript
angular共享依赖的解决方案分享
Oct 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
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
BOM系列第二篇之定时器requestAnimationFrame
2016/08/17 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
js中用cssText设置css样式的简单方法
2016/09/19 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
详解Node.js amqplib 连接 Rabbit MQ最佳实践
2019/01/24 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
python中cPickle用法例子分享
2014/01/03 Python
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Python温度转换实例分析
2018/01/17 Python
python中scikit-learn机器代码实例
2018/08/05 Python
python3的UnicodeDecodeError解决方法
2019/12/20 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
python中str内置函数用法总结
2020/12/27 Python
售后专员岗位职责
2013/12/08 职场文书
电子信息专业自荐书
2014/02/04 职场文书
《我的第一本书》教学反思
2014/02/15 职场文书
公司承诺书范文
2014/05/19 职场文书
2014高考励志标语
2014/06/05 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
Python  lambda匿名函数和三元运算符
2022/04/19 Python