用Jxl实现将统计数据导出到excel表中
2007-07-31 20:16
519 查看
项目需求 在统计网站数据时,用户往往希望 能把下载量,注册用户数等统计数据导出到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>(右键单击另存为)
由于我们的项目使用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>(右键单击另存为)
相关文章推荐
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- JXL实现大批量数据循环分页导出Excel研究(三)
- Java Web获取数据库数据,利用jxl实现数据导出成Excel文件
- Java导出页面数据或数据库数据至Excel文件并下载,采用JXL技术,小demo(servlet实现)
- Java程序员从笨鸟到菜鸟之(一百零五)java操作office和pdf文件(三)利用jxl实现数据导出excel报表以及与POI的区别
- MVC 实现表格数据导出Excel(NPOI方式)
- ThinkPHP 整合 PHPExcel ,数据导出功能实现,解决Invalid cell coordinate PHPExcel想必大家都不陌生,是用来操作Office Excel 文档的一个PHP
- ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
- jxl导出excel出现“文件错误,可能某些数据格式已丢失"
- asp.net实现导出DataTable数据到Word或者Excel的方法
- 将Table数据导出至Excel文件(中国移动实现的方式)
- 详解thinkphp实现excel数据的导入导出(附完整案例)
- jxl 导出数据到excel的实例讲解
- 使用phpExcel实现Excel数据的导入导出(完全步骤)
- 如何编程实现VB.NET数据集中的数据导出到EXCEL
- JSP实现从数据库导出数据到Excel下载的方法
- Java使用POI实现数据导出excel报表
- phpExcel实现Excel数据的导入导出(全步骤详细解析)
- C#实现Excel模板导出和从Excel导入数据