把jsp页面中的table 导出到excel中,有一种方式可以把table转换成xml然后再转换为excel,哪位大哥能解决这个问题,有没这样dtd文件?给个例子出来吧

解决方案 »

  1.   

    这个是一门技术, 处理报表什么的
      学习中, Google哈
      

  2.   

    我的资源里有个 jsp 导出 excel 文件源代码。楼主可以去看看。
      

  3.   

    用ireport制作报表就很方便了,通过流来完成,仅供参考 可以试试!//加载jasper文件
    File reportFile = new File(url);
    JasperReport jasperReport = (JasperReport)JRLoader.loadObject(reportFile.getPath());
    //装载数据
    JRBeanCollectionDataSource jrbean = new JRBeanCollectionDataSource(list);
    //构造jasperPrint对象
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map, jrbean);

    //输出流
    ByteArrayOutputStream oStream = new ByteArrayOutputStream();
    //构造输出对象
    JExcelApiExporter exporter = new JExcelApiExporter();
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
    ..............//写输出流
    byte[] bytes = oStream.toByteArray();
    if(bytes != null && bytes.length > 0) {
     response.reset();
    //excel文件名
    String fileName = reportName + ".xls";
    response.addHeader("Content-Disposition", "attachment;filename=\"" + URLEncoder.encode(fileName,"utf-8") + "\"");
        response.setContentType("application/vnd.ms-excel;charset=utf-8");
        response.setContentLength(bytes.length); 
        ServletOutputStream ouputStream = response.getOutputStream(); 
        ouputStream.write(bytes,0,bytes.length); 
      

  4.   

    比较简单的方法,可以在jsp里加入
    <%
        response.setContentType("application/vnd.ms-excel");
        response.addHeader("Content-Disposition", "attachment;filename=文件名.xls");
    %>但前提是这个jsp里只能有一个table 哈哈
      

  5.   

    JS有一个打印功能,能打印特定的DIV
      

  6.   

    给个POI包实现的例子public class MxToExcel extends HttpServlet{
    public void doPost(HttpServletRequest request,HttpServletResponse response)
       throws IOException,ServletException {
    HttpSession session=request.getSession(true);
    //List total=(List)session.getAttribute("mxpdata");
    List title=(List)session.getAttribute("Title");
    List total=(List)session.getAttribute("MXData");

    String   outFileName   =   "filename.xls";//   默认的文件名字和路径   
    response.setContentType("application/octet-stream");//   设置响应头   
          response.setHeader("Content-Disposition","attachment;   filename=\""   +   outFileName   +   "\"");//           
          java.io.OutputStream pw   =   response.getOutputStream();   

          WebToExcel ex=new WebToExcel();
    ex.wetoExcel(total,title,pw);
    }
    }
      

  7.   

    public class WebToExcel {
    public void wetoExcel(List total,List title,OutputStream os) {

    try{
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet(); HSSFRow row1 = sheet.createRow((short)0);
    for (int i=0;i<title.size();i++){
    row1.createCell((short)i).setCellValue(title.get(i).toString());
    }
        for (int m=0;m<((List) total.get(0)).size();m++){   //行
         HSSFRow row = sheet.createRow((short)m+1);
         for (int n=0;n<total.size();n++){    //列
         row.createCell((short)n).setCellValue(((List) total.get(n)).get(m).toString());
        
         }
        }     
        //String   outFileName   =   "filename";//   默认的文件名字和路径   

        wb.write(os);
        os.close();     
    }
    catch(Exception ex){System.out.print(ex.toString()); } }}
      

  8.   

    jdom  解析器可以解析成xml文档然后导出 就OK啦