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

网友投稿 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 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

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小时内删除侵权内容。

上一篇:解决idea不支持SpringBoot yml文件的图文教程
下一篇:共享文件系统怎么安装(共享文件系统怎么安装驱动)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~