Flask接口签名sign原理与实例代码浅析
278
2023-01-28
vue+springmvc导出excel数据的实现代码
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
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 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).http://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数据的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!
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).http://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数据的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~