<%
response.setContentType("application/vnd.ms-excel"); 
%>
这个会将JSP中的表格放到excel中

解决方案 »

  1.   

    用javascrip控制页面打印吧
    一下代码供参考
    function dtPrint() {
    //**********去掉页眉页脚
      factory.printing.header = ""
      factory.printing.footer = ""
    //  factory.printing.Print(true) if (window.print) {
    var p_1  = document.all.p_1.innerHTML;
    // var p_2  = document.all.p_2.innerHTML;
    //**************
    //这里根据你要打印的哪些内容,从原显示页面中用
    //<div id=P_1>p_1....</div><div id=P_2>p_2...</div>等标示,要打印多少项目就用多少下
    //提示一下,自己体会:),此处我只写出两个出来:D
    //**************
    var css = '<style type="text/css">' +
      'p {  line-height: 120%}' +
      'table {font-size: 10pt; border:0; cellspacing:1; cellpadding:0;  background-color:#4D9AD6;  }' +
      'td {align:center; border:1;FONT-FAMILY: "宋体";FONT-SIZE:  10pt; background-color:#ffffff; }' +
      '</style>' ;
    //**************
    //这里是定义打印用的CSS,可以根据你自己的设定去写适合你的格式哦
    //本文只定义三个,p,.ftitle,td,其余自己写。越美观越好。
    //**************
    var body ='<table width="640" border="0" cellspacing="0" cellpadding="5">' +
         '  <tr> ' +
         '    <td  class="fbody"> ' +
         '</div>' + p_1 +
         '    </td>' +
         '  </tr>' +
         '</table>';
    //**************
    //body这才是你重新设置的打印格式,根据你的打印要求,重新把原显示网页的DIV内容重新
    //组合,可以根据你原来的表格内容,去掉不要打印的东东,只调用你要打印的内容
    //另外:根据经验,表格大小为640左右正好是适合A4打印幅面!哈!
    //**************
    document.body.innerHTML = '<center>' + css + body + '</center>';
    //**************
    //然后在这里把document.body重新设一下,这就是打印文档!(有加CSS格式了)
    //**************
    window.print();
    location.reload();
    //**************
    //一定要调用window.print()哦,否则,打印无效……说了那么多就成废话了:'(
    //**************
    }
    }
      

  2.   

    可以试试FineReport.
    http://finereport.com