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 相关文章推荐
jQuery UI-Draggable 参数集合
Jan 10 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
Jun 19 Javascript
js中replace的用法总结
Dec 27 Javascript
我的Node.js学习之路(二)NPM模块管理
Jul 06 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
Sep 12 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
Jan 04 Javascript
基于jquery插件实现拖拽删除图片功能
Aug 27 Javascript
微信小程序关键字变色实现代码实例
Dec 13 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
vue element-ui中table合计指定列求和实例
Nov 02 Javascript
微信小程序调用后台service教程详解
Nov 06 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
其他功能
2006/10/09 PHP
在IIS上安装PHP4.0正式版
2006/10/09 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
javascript引导程序
2008/10/26 Javascript
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
2013/06/21 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
nodejs基础应用
2017/02/03 NodeJs
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
使用Python写CUDA程序的方法
2017/03/27 Python
多版本Python共存的配置方法
2017/05/22 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
利用python实现AR教程
2019/11/20 Python
Python3 pywin32模块安装的详细步骤
2020/05/26 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
料理师求职信
2014/01/30 职场文书
团日活动总结范文
2014/04/25 职场文书
销售活动策划方案
2014/08/26 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
劳模事迹材料范文
2014/12/24 职场文书
共青团员自我评价
2015/03/10 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技