NOTE:
当前博文可能并不是你理想的方案,请移步另一篇:
暂时使用了两种方法可以分享一下:
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();
}