现在急求能够打印预览网页内的表格的控件或方法,那位大侠能够给解决一下?
具体问题如下:
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.我使用的是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中使用。
不过感觉有时也很不稳定,优点就是挺简单方便的,你可以试试。
我也是一直做jsp方面的项目
写的不错,我查了一下,finereport制作报表还行。但是打印预览不好。
另外我的项目已经完成了,我只是想添加一个打印和打印预览。
如果有新的项目的话,我会试着用用finereport的。
谢谢了。
给点分。
我对javascript不太会用。
只是能仿着写一些函数。没有系统的学习过。