怎样在web中实现报表打印和打印预览?

时间:2022-01-09 18:50:15
用浏览器的打印菜单肯定不行,因为打印的是网页格式,会打印一些与网页相关的页眉或页脚之类……

17 个解决方案

#1


把数据显示成excel格式(需要客户端有excel) 然后让用户自己用excel打

#2


使用 ActiveX  控件,如用友的 CELL 插件,千禧报表等支持 B/S 模式的打印控件。

#3


<object id="factory" style="display:none" viewastext 

classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" 

codebase="./ScriptX/ScriptX.cab#Version=5,60,0,360"></object>
<script defer>
function window.onload() {
  factory.printing.header = ""
  factory.printing.footer = ""
  factory.printing.leftMargin = 0.75
  factory.printing.topMargin = 1.5
  factory.printing.rightMargin = 0.75
  factory.printing.bottomMargin = 1.5
  }
</script>

<p><input  type="button" value="打印本页"
 onclick="factory.printing.Print(false)">
 <input  type="button" value="页面设置"
 onclick="factory.printing.PageSetup()">
 <input type="button" value="打印预览"
 onclick="factory.printing.Preview()">
<br>

#4


要先去下载一个ScriptX控件

#5


真的感谢大家,这么多的回复!
首先我不想用需付费的第三方控件,因为我的报表并不复杂,我可以自己实现报表生成,只是打印的问题。

to leshui(大象无形)(有物混成,先天地生):
页面有错误,是否能debug一下?
另:用ScriptX控件实现的话,能用在非微软的平台下吗?(ScriptX控件是一个ActiveX控件,不知道我的理解对不对?)

TO  snicker(我得意的笑) :
能提供一下思路怎么实现么?

#6


up

#7


只要客户端是ie就可以的
其实是向客户端的机器注册控件

#8


用excel发布一个空页面做模版 再用taglib加入数据

#9


http://www.meadroid.com

#10


to leshui(大象无形)(有物混成,先天地生) :
codebase="./ScriptX/ScriptX.cab#Version=5,60,0,360"可能有问题吧?好像是控件没有下载成功。

#11


好了,我把控件(ScriptX.cab)下到本地,“页面设置”可以运行,可是“打印预览”不运行,MS Fontpage中显示需要ie 5.5以上!这个要求好像有点高!而“打印本页”按钮没有任何反应,既不显示出错,也不打印!

#12


to snicker(我得意的笑) :
如果你能说的清楚一点,我就可以结贴了。否则不知道该给你多少分。

把数据显示成excel格式(需要客户端有excel) 然后让用户自己用excel打;用excel发布一个空页面做模版 再用taglib加入数据

既然让用户自己打,是否将生成的excel格式报表让用户下载到本地?糊涂了,记得以前看到过一个用vb写的代码,就是这样,让网页上的表格以excel格式下载到本地。关键是怎么实现这一点呢?稍微写几行关键代码如何?

#13


给我写信 写上要什么 我给你发过去wangyang@admin.ustb.edu.cn

#14


用CSS就可以控制了
page-break-after

#15


wjp888(选择坚强) :css不是样式表么?怎么实现啊?好奇怪!能说清楚点么……

#16


也许是我懂得太少,关于excel的打印实现还是搞不明白。不过,最近在网上看到一篇用word实现的方法,特别简单!
只需在jsp中采用:
<%@ page contentType="application/msword;charset=gb2312" ……
即可!
必须用word打开下载的文件!
我拭着改用excel,也基本差不多。

就是布局有点变化……

#17


真是奇怪!好好的,什么也没改,现在访问同一网页,不是下载网页,而是改为在浏览器中以word风格显示网页!相当于浏览器内嵌word,但是却没有word工具栏、菜单栏和独立的word窗口,这样可没有用啊!
谁找到问题的答案或关键所在,请告诉我一下。
另外:谁告诉我一下,为什么我打印web页,会在右边有些内容给漏掉了?(但是打印下来的文字换行是可以改变的,而我设置的纸张类型也符合啊)怎么设置可以解决这个问题?

#1


把数据显示成excel格式(需要客户端有excel) 然后让用户自己用excel打

#2


使用 ActiveX  控件,如用友的 CELL 插件,千禧报表等支持 B/S 模式的打印控件。

#3


<object id="factory" style="display:none" viewastext 

classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" 

codebase="./ScriptX/ScriptX.cab#Version=5,60,0,360"></object>
<script defer>
function window.onload() {
  factory.printing.header = ""
  factory.printing.footer = ""
  factory.printing.leftMargin = 0.75
  factory.printing.topMargin = 1.5
  factory.printing.rightMargin = 0.75
  factory.printing.bottomMargin = 1.5
  }
</script>

<p><input  type="button" value="打印本页"
 onclick="factory.printing.Print(false)">
 <input  type="button" value="页面设置"
 onclick="factory.printing.PageSetup()">
 <input type="button" value="打印预览"
 onclick="factory.printing.Preview()">
<br>

#4


要先去下载一个ScriptX控件

#5


真的感谢大家,这么多的回复!
首先我不想用需付费的第三方控件,因为我的报表并不复杂,我可以自己实现报表生成,只是打印的问题。

to leshui(大象无形)(有物混成,先天地生):
页面有错误,是否能debug一下?
另:用ScriptX控件实现的话,能用在非微软的平台下吗?(ScriptX控件是一个ActiveX控件,不知道我的理解对不对?)

TO  snicker(我得意的笑) :
能提供一下思路怎么实现么?

#6


up

#7


只要客户端是ie就可以的
其实是向客户端的机器注册控件

#8


用excel发布一个空页面做模版 再用taglib加入数据

#9


http://www.meadroid.com

#10


to leshui(大象无形)(有物混成,先天地生) :
codebase="./ScriptX/ScriptX.cab#Version=5,60,0,360"可能有问题吧?好像是控件没有下载成功。

#11


好了,我把控件(ScriptX.cab)下到本地,“页面设置”可以运行,可是“打印预览”不运行,MS Fontpage中显示需要ie 5.5以上!这个要求好像有点高!而“打印本页”按钮没有任何反应,既不显示出错,也不打印!

#12


to snicker(我得意的笑) :
如果你能说的清楚一点,我就可以结贴了。否则不知道该给你多少分。

把数据显示成excel格式(需要客户端有excel) 然后让用户自己用excel打;用excel发布一个空页面做模版 再用taglib加入数据

既然让用户自己打,是否将生成的excel格式报表让用户下载到本地?糊涂了,记得以前看到过一个用vb写的代码,就是这样,让网页上的表格以excel格式下载到本地。关键是怎么实现这一点呢?稍微写几行关键代码如何?

#13


给我写信 写上要什么 我给你发过去wangyang@admin.ustb.edu.cn

#14


用CSS就可以控制了
page-break-after

#15


wjp888(选择坚强) :css不是样式表么?怎么实现啊?好奇怪!能说清楚点么……

#16


也许是我懂得太少,关于excel的打印实现还是搞不明白。不过,最近在网上看到一篇用word实现的方法,特别简单!
只需在jsp中采用:
<%@ page contentType="application/msword;charset=gb2312" ……
即可!
必须用word打开下载的文件!
我拭着改用excel,也基本差不多。

就是布局有点变化……

#17


真是奇怪!好好的,什么也没改,现在访问同一网页,不是下载网页,而是改为在浏览器中以word风格显示网页!相当于浏览器内嵌word,但是却没有word工具栏、菜单栏和独立的word窗口,这样可没有用啊!
谁找到问题的答案或关键所在,请告诉我一下。
另外:谁告诉我一下,为什么我打印web页,会在右边有些内容给漏掉了?(但是打印下来的文字换行是可以改变的,而我设置的纸张类型也符合啊)怎么设置可以解决这个问题?