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

时间:2021-05-26

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章