首页 > 编程 > JavaScript > 正文

vue+springmvc导出excel数据的实现代码

2019-11-19 13:36:07
字体:
来源:转载
供稿:网友

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数据的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对武林网网站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表