用Jxl实现将统计数据导出到excel表中

项目需求 在统计网站数据时,用户往往希望 能把下载量,注册用户数等统计数据导出到EXCEL表中.在JAVA中我们可以使用JXL包方便的实现该功能.

由于我们的项目使用struts.spring,hibernate等技术,因此我们可以在查询统计数据的ACTION中将统计数据写到EXCEL表中,在查询页面用户就可以直接导出EXCEL文件.ACTION中的代码如下

 

  Date date=new Date();
  long date_long=date.getTime();
  String path=request.getSession().getServletContext().getRealPath("/excel/");
  File file=new File(path);
  if(!file.exists())
  {
   file.mkdir();
  }
  
  String filepath=path+"/"+date_long+".xls";//生成EXCEL文件名
  
  try {
   jxl.write.WritableWorkbook wwb=null;
    wwb=jxl.Workbook.createWorkbook(new java.io.File(filepath));
   jxl.write.WritableSheet ws=wwb.createSheet("统计报表", 0);  //创建EXCEL文件
  

  int rows=0;

  int step=0;
  jxl.write.Label lable1=new jxl.write.Label(step, rows, "统计日期");//生成字段

  ws.addCell(lable1);
  
 
  
  jxl.write.Label lable3=new jxl.write.Label(step+2, rows, "下载量");

  ws.addCell(lable3);
  
  jxl.write.Label lable4=new jxl.write.Label(step+3, rows, "用户注册数"); 
  
  
  ws.addCell(lable4);
  
  
  if(list!=null&&list.size()>0)
  {
  
  for(rows=1;rows<list.size()+1;rows++)//生成内容
  {
   UserRegdownByHourInfo mag=(UserRegdownByHourInfo)list.get(rows-1);
   jxl.write.Label lable11=new jxl.write.Label(step, rows, mag.getChannelid());

   ws.addCell(lable11);
   
 
   
   jxl.write.Number lable33=null;
   if(mag.getDowntotal()!=null)
   {
     lable33=new jxl.write.Number(step+2, rows, mag.getDowntotal());
   }
   else
   {
    lable33=new jxl.write.Number(step+2, rows,0 );
   }
   
   ws.addCell(lable33);
   
   jxl.write.Number lable44=null;
   if(mag.getRegistertotal()!=null)
   {   
       lable44=new jxl.write.Number(step+3, rows,mag.getRegistertotal()); 
   }
   else
   {
    lable44=new jxl.write.Number(step+3, rows,0); 
   }
   
   
   ws.addCell(lable44);
  }
  }
  
  wwb.write();

  wwb.close();
  
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  request.setAttribute("filepath", filepath);//将EXCEL文件名传给JSP页面

 

对应的JSP代码

            <a href="<bean:write name="filepath" />" target='blank' >导出为excel文档</a>(右键单击另存为)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值