jsp数据表如何实现页面表格的打印和导出?

时间:2021-10-20 17:08:03
问题一:
报表的打印好象只要用一个按钮,javascript设置onClick='window.print()',我测试的时候,可以弹出提示安装打印机的对话框(我没有打印机),不知道如果安装了打印机之后是否可以真正打印,还可以设置和预览,有人试过吗?

问题二:
这个问题,在csdn都搜索到不少,可不知道如何做.
我点一个按钮,就可以把显示数据库表记录的表格(包括各列名称),导出成xls,dbf等形式,看到过说可以用jxl api,没用过,只下了一个jxl api,还看到过说可以作成一个另存为的形式,直接把网页的后缀名改为xls,dbf,我觉得不太可能,不过另存为这种形式不错.我现在在做毕业设计,可刚接触jsp哪里会那么多,又要规定时间,老师的要求苛刻啊,没办法,硬着头皮来,恳请各位csdn高手能帮帮忙.谢谢了.

14 个解决方案

#1


该回复被版主删除

#2


不一定要在CSDN里,可以在百度里查询,可以打印 的。不过是打印这个页面里的所有内容,所以就要设定哪些要打印,哪些不要打印了。

#3


建议去查询"区域打印"

#4


<%@   page   contentType="application/vnd.ms-excel;charset=GBK">
用这个的话一加载页面,就弹出文件另存为对话框,可以保存为excel形式,但是他把分页显示的首页,上一页,下一页,末页也加进了excel表中,而且单元格都没有线框,估计我的报表没有行列线框造成的.我是想点击另存为按钮,然后将列名和数值按指定路径生成一个excel表格,不要分页显示那些东东,看样子只有用poi或者jxi了,不知道针对我这种情况应该怎么在jsp页面写代码,我只知道在开头要加import jxl.*之类的包,怎么用他呢?csdn上高手如云,我相信我的问题一定会得以解决,还有不少难题在等这我啊.

#5


问个超级菜鸟问题,假如public void writeExcelBo()这个函数是将报表导出成excel,那么我点按钮该如何调用该函数呢?

#6


有人在吗?

#7


<html>
<body>

<center class="Noprint">
  <OBJECT  id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0>
  </OBJECT>
  <input type="button" value="打   印" onclick="document.all.WebBrowser.ExecWB(6,1)">
  <input type="button" value="直接打印" onclick="document.all.WebBrowser.ExecWB(6,6)">
  <input type="button" value="页面设置" onclick="document.all.WebBrowser.ExecWB(8,1)">
  <input type="button" value="打印预览" onclick="document.all.WebBrowser.ExecWB(7,1)">
  <input type="button" value="退   出" onclick="closewindow()">
  <hr align="center" width="100%" size="1" noshade>
  </center>
</body>
</html>

提供一个网页打印的脚本.

#8


可以打印!

#9


谢谢了
那在页面把报表导出成一个excel或者导出到一个excel文件该如何做呢,如果我想通过某个事件触发来导出,一般的做法是怎样呢?难道是页面加载就自动导出?搞不懂,晕了...

#10


网上不少导出excel的例子,那些到底怎么实现呢,单单一个函数可以解决吗,应该要触发吧,急!有人在吗?

#11


你邮箱多少?
我发你邮箱里。

#12


ExecWB的缺点是受IE安全权限的控制和在模态窗口中不能使用,
window.print的的缺点是不能预览、不能直接打印(每次都谈出打印机选择对话框)。

#13


该回复被版主删除

#14


DVD_Collector() 我的邮箱是ddzuimei@163.com,感谢.

#15


我刚才试了这种简单的办法,
设置页面开头设置<%@ page contentType="application/vnd.ms-excel;charset=gb2312" %>就可以了.弹出了保存对话框,可是我的一个字段在表单显示为20060506092113000,可到了excel里显示成了2.00606E+16,可见excel把他当成数字处理了,我的这个字段是字符串"20060506092113000",我想就算是整数20060506092113000,也会同样处理成2.00606E+16的,有什么办法解决吗?

#16


想到一个不是办法的办法,在2006050609211300前加上字符N,变成N2006050609211300,后面到网上一搜,看到有说用'2006050609211300的,不谋而合,可是这样2006050609211300总有个字符,不是最终解决办法,难道加个',能有办法不让'显示出来吗,有谁能指点我一下?

#1


该回复被版主删除

#2


不一定要在CSDN里,可以在百度里查询,可以打印 的。不过是打印这个页面里的所有内容,所以就要设定哪些要打印,哪些不要打印了。

#3


建议去查询"区域打印"

#4


<%@   page   contentType="application/vnd.ms-excel;charset=GBK">
用这个的话一加载页面,就弹出文件另存为对话框,可以保存为excel形式,但是他把分页显示的首页,上一页,下一页,末页也加进了excel表中,而且单元格都没有线框,估计我的报表没有行列线框造成的.我是想点击另存为按钮,然后将列名和数值按指定路径生成一个excel表格,不要分页显示那些东东,看样子只有用poi或者jxi了,不知道针对我这种情况应该怎么在jsp页面写代码,我只知道在开头要加import jxl.*之类的包,怎么用他呢?csdn上高手如云,我相信我的问题一定会得以解决,还有不少难题在等这我啊.

#5


问个超级菜鸟问题,假如public void writeExcelBo()这个函数是将报表导出成excel,那么我点按钮该如何调用该函数呢?

#6


有人在吗?

#7


<html>
<body>

<center class="Noprint">
  <OBJECT  id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0>
  </OBJECT>
  <input type="button" value="打   印" onclick="document.all.WebBrowser.ExecWB(6,1)">
  <input type="button" value="直接打印" onclick="document.all.WebBrowser.ExecWB(6,6)">
  <input type="button" value="页面设置" onclick="document.all.WebBrowser.ExecWB(8,1)">
  <input type="button" value="打印预览" onclick="document.all.WebBrowser.ExecWB(7,1)">
  <input type="button" value="退   出" onclick="closewindow()">
  <hr align="center" width="100%" size="1" noshade>
  </center>
</body>
</html>

提供一个网页打印的脚本.

#8


可以打印!

#9


谢谢了
那在页面把报表导出成一个excel或者导出到一个excel文件该如何做呢,如果我想通过某个事件触发来导出,一般的做法是怎样呢?难道是页面加载就自动导出?搞不懂,晕了...

#10


网上不少导出excel的例子,那些到底怎么实现呢,单单一个函数可以解决吗,应该要触发吧,急!有人在吗?

#11


你邮箱多少?
我发你邮箱里。

#12


ExecWB的缺点是受IE安全权限的控制和在模态窗口中不能使用,
window.print的的缺点是不能预览、不能直接打印(每次都谈出打印机选择对话框)。

#13


该回复被版主删除

#14


DVD_Collector() 我的邮箱是ddzuimei@163.com,感谢.

#15


我刚才试了这种简单的办法,
设置页面开头设置<%@ page contentType="application/vnd.ms-excel;charset=gb2312" %>就可以了.弹出了保存对话框,可是我的一个字段在表单显示为20060506092113000,可到了excel里显示成了2.00606E+16,可见excel把他当成数字处理了,我的这个字段是字符串"20060506092113000",我想就算是整数20060506092113000,也会同样处理成2.00606E+16的,有什么办法解决吗?

#16


想到一个不是办法的办法,在2006050609211300前加上字符N,变成N2006050609211300,后面到网上一搜,看到有说用'2006050609211300的,不谋而合,可是这样2006050609211300总有个字符,不是最终解决办法,难道加个',能有办法不让'显示出来吗,有谁能指点我一下?