当前位置: 移动技术网 > IT编程>脚本编程>vue.js > vue+springmvc导出excel数据的实现代码

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

2018年08月06日  | 移动技术网IT编程  | 我要评论

身故拒赔遭起诉,皮皮乐购,宋照肃

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数据的实现代码,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网