有关JSP页面导出EXCEL文件

来源:互联网 发布:linux sftp 断点续传 编辑:程序博客网 时间:2024/06/08 01:36

暂时使用了两种方法可以分享一下:

1)

直接在JSP页面设置

<% response.setContentType("application/vnd.ms-excel;charset=GBK"); %> 

<%response.setHeader("Content-disposition","attachment; filename=test2.xls"); >

设置之后,该页面的内容直接存为test2.xls的EXCEL文件。

好处是简单,但是生成的EXCEL文件不可控制,因此不算太好使。

2)使用Apache poi导出。

简单地说就是获取生成table的数据流,将其输出到设定好的EXCEL文件,过程是通过poi给的api操作。

本人已确认可以使用的资源,上传到CSDN:http://download.csdn.net/detail/paditang/9737395

HSSFWorkbook wb=new HSSFWorkbook();    HSSFSheet sheet1=wb.createSheet("下载次数一");//生成新的excel sheet    HSSFRow row=sheet1.createRow((int) 0);//生成excel的第一行    HSSFCellStyle style=wb.createCellStyle();//设置style样式    style.setAlignment(HSSFCellStyle.ALIGN_CENTER);        HSSFCell cell=row.createCell((short)0);  //选择行内第一个元素操作    cell.setCellValue("软件名");//设置行内值    cell.setCellStyle(style);        cell=row.createCell((short) 1);    cell.setCellValue("下载次数");    cell.setCellStyle(style);               for(int i=0;i<swcount.size();i++)//swcount是我设置的一个Software类型的list    {    row=sheet1.createRow((int )i+1);    SoftwareCount sc=(SoftwareCount)swcount.get(i);    row.createCell((short) 0).setCellValue(sc.getSoftwareName());    row.createCell((short) 1).setCellValue(sc.getCount());    }            try         {             FileOutputStream fout = new FileOutputStream("filename.xls");             wb.write(fout);             fout.close();       }         catch (Exception e)         {          request.setAttribute("Finished", "1");           e.printStackTrace();                   }





0 0
原创粉丝点击