之前因为需要,去学习了几种 WEB 报表的打印方式,发现用 Java 直接去操作 Word、Excel 还是不那么方便,
下面就简单介绍几种;
1、用浏览器自带的打印功能直接打印;
这种方式是最直接的,方便的,不需要加什么插件 jar 包,只要前台在一个 div 中模仿着报表的格式去设
置界面布局,然后把数据动态的填充进去,再调用 JavaScript 打印函数,就可以实现界面的局部打印功能。
(如果不想让报表 div 在界面中显示出来可以隐藏之)PS:不过直接在前台界面打印还是会遇到意想不到的情
况,不同浏览器的问题,反正我就遇到不同浏览器打印出来的报表排版不一的情况,用的 时候需要注意。
eg:
div 布局
<div id="printdiv" style="display:none;">
<table id="tableid" class="main" cellspacing="0" cellpadding="0" border="1"
bordercolor="#000000" align="center" width="800px;">
/****** your code ******/
</table>
</div>
JavaScript 部分:(自己根据需要选择触发响应的 JS 函数)
function windowprint() {
var f = document.getElementById("printdiv");
f.style.display = "";
window.print();
f.style.display = "none";
}
function myPrint(obj){
var newWindow=window.open("打印窗口","_blank");
var docStr = obj.innerHTML;
newWindow.document.write(docStr);
newWindow.document.close();
newWindow.print();
newWindow.close();
}
2、使用第三方插件完成报表打印编辑(这里介绍 PageOice 和 Jacob)
先说 PageOice,这是国产货,其强大之处在于其对 Word 的处理和它的在线编辑能力,最大的不足就是
要收费(不过也不知道怎么收,下载的包里有自带的试用码,也不管先用着玩玩)
- 1
- 2
前往页