/*
以下这样在jsp的一个table生成excel
格式具体如下
1、类别为A的方在一个sheet 里并设置sheetName = "A";
2、同理B类和C类都一样用jxl怎么写
table
td1   td2   td3    类别
 1     2     3      A
 1     2     1      A
 1     2     3      A
 1     1     3      B
 1     4     3      B
 1     2     4      B
 1     4     3      C
 1     4     1      C
 1     4     4      C
*/
public void export(String content, HttpServletResponse response) throws IOException,   
    RowsExceededException, WriteException {   
  response.setContentType("application/ms-excel");   
  String sheetName = "报表例子.xls";   
  sheetName = sheetName.replaceAll(":", "").replaceAll("[)]", "").replaceAll("[(]", "");   
  // 这里解释一下   
  // attachment; 这个代表要下载的,如果去掉就编程直接打开了   
  // filename是文件名,另存为或者下载时,为默认的文件名   
  response.addHeader("Content-Disposition", "attachment; filename="  
      + new String(sheetName.getBytes("GBK"), "ISO-8859-1") + ".xls");   
  OutputStream os = response.getOutputStream();   
  WritableWorkbook wwb = Workbook.createWorkbook(os);   
  
  // 这里是你的生成内容的代码。       
  
  wwb.write();   
  wwb.close();   
}  

解决方案 »

  1.   

    你想要不同的类别放入不同的sheet,
    首先,你就要先得到你要生成sheet的数据,分出这些类别放入到不同的list中,也就是从库中将这些不同的类别查出来,然后可以将这些list放入到map中以“类别名”为key.
    其次,得到数据后,就依次遍历map,然后取出它的里的集合进行遍历,以key为sheet名,以list里的对象生成表数据。对于如何从list生成sheet,应该不用说了吧~~
      

  2.   

    按1楼的说法,先处理content
    得到Map<类别,内容list>
    再写数据就好写多了
      

  3.   

    如果你想要生成sheet的例子,那就去搜一下,很多
    如果你想要的是楼主说的这种情况,没有,这都是根据实际情况进行处理的,不可能那么凑巧,需求就一样~
      

  4.   

    我来顶下,JSP技术交流群号:93722377,欢迎新朋友加入,一起学习.........