现在急求能够打印预览网页内的表格的控件或方法,那位大侠能够给解决一下?
具体问题如下:
1.我使用的是Tomcat 5.0 + jdk5+oracle8i。
2.在jsp页面内动态生成了一个表格数据,如下:
<span id = "mytab1">
<table width=100% border="0" cellspan="1">
   <tr><td align="center"><font size="10">******报表</font></td></tr>
</table>
<table>
  <tr>
    <TH>序号</TH>
    <TH>标题1</TH>
    <TH>标题2</TH>
    <TH>标题n</TH>
  </tr>
  <tr>
   <td>1</td>
   <td>张三</td>
   <td>18</td>
   <td>....<td>
  </tr>
   <tr>
   <td>2</td>
   <td>李四</td>
   <td>20</td>
   <td>....<td>
  </tr>
  .....
</table>
</span>
3.类似上面所示的一个span中的数据,现在想当点击一个按钮时,对这些数据生成一个
打印预览效果。
现在用的是IE本身所用的那个,js函数如下:
function dyyl(id,t1,t2){
var obj=document.all(id);
var w_dy=window.open("","打印预览","height=0, width=0, top=0, left=0, toolbar=no, menubar=yes, scrollbars=no, resizable=no,location=no, status=no");
w_dy.document.writeln("<html>");
w_dy.document.writeln("<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\"><link rel=\"stylesheet\" href=\"<%=path%>/jsp/css/PrintStyle.css\" type=\"text/css\"></head><body onload='wb.execwb(7,1);'>");
//alert(obj.innerHTML);
w_dy.document.writeln("<OBJECT classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2' height=0 id=wb name=wb width=0></OBJECT>");
if((t1!=null&&t1.length!=0)||(t2!=null&&t2.length!=0)){w_dy.document.writeln('<caption>');}
if(t1!=null&&t1.length!=0){w_dy.document.writeln("<p align='center' class='caption'>"+t1+"</p>");}
if(t2!=null&&t2.length!=0){w_dy.document.writeln("<p align='center' class='sub_caption'>"+t2+"</p>");}
if((t1!=null&&t1.length!=0)||(t2!=null&&t2.length!=0)){w_dy.document.writeln('</caption>');}
w_dy.document.writeln(obj.innerHTML);
w_dy.document.writeln("</body></html>");
w_dy.document.close();
w_dy.close();
  }
这种效果非常不好看,打印的分页等控制也不好。
那位大侠有好的控件或者方法,帮一下,如果采用,定重谢谢!!!!
注:
我曾找过类似cell组件(用友华表的),快乐报表,数巨报表等一些报表制作工具,但是都不是很合适。
配置数据源,不能从html页面上提取数据,还有的不支持在jsp中使用。

解决方案 »

  1.   

    finereport,我现在一直用的报表工具。
    不过感觉有时也很不稳定,优点就是挺简单方便的,你可以试试。
    我也是一直做jsp方面的项目
      

  2.   

    gefengxztg(戈峰) 
    写的不错,我查了一下,finereport制作报表还行。但是打印预览不好。
    另外我的项目已经完成了,我只是想添加一个打印和打印预览。
    如果有新的项目的话,我会试着用用finereport的。
    谢谢了。
    给点分。
      

  3.   

    BTW,HTML里面有专门的换页控制语句的
      

  4.   

    有个小例子吗,给看一下。
    我对javascript不太会用。
    只是能仿着写一些函数。没有系统的学习过。