日期:2014-05-18  浏览次数:20705 次

急急急!!!关于在WEB中报表的打印问题!!!请大虾们帮帮忙?
最近在做一个基于WEB的项目,使用JSP技术,其中要求可以实现点击"打印"按钮即可实现报表打印的功能,
请问各位大虾,实现这个功能的具体过程是怎么样的?? 用什么方法比较好,要用到报表组件(免费的)吗?

------解决方案--------------------
最简单的就是javasript, 打印页面. 
报表组件, hoho, 看看jasper report.
------解决方案--------------------
要用到第三方的东西吧?
------解决方案--------------------
FineReport报表软件是纯Java编写的企业级web报表软件工具。

http://www.finereport.com/
exlipse中也有第三方控件啊!
------解决方案--------------------
我们公司在用赝鼎报表。
还可以,不过是收费的~!
------解决方案--------------------
你要是单纯使用jsp技术,可以:
1. 在Word或Excel中制作报表的样式。 

  Excel的行高和列宽单位无法用mm或cm表示。


  需要计算。在1024*768下,1CM约为38像素。 

  以此为基准,可计算并控制报表的行列位置。

  2. 在Word中设置“表格——标题行重复”。

  在Excel中设置“文件——页面设置——工作表——打印标题”。

  3. 另存为网页,改后缀名“htm”为“jsp”。

  4. Word报表文件头为:

<%@page contentType="application/msword;charset=GBK" language="java"%>

  Excel报表文件头为:

<% @page contentType="application/vnd.ms-excel;charset=GBK" language="java"%> 

  5. 在文件头部分定义打印参数变量如下(以Excel为例):

<% 

//需要打印的记录条数
int PrintRowCount=RowCount; 

//每页打印的记录条数
int PageRowCount=16; 

//最后一页需要打印的空行的数目
int LoopNum=PageRowCount-PrintRowCount%PageRowCount; 

//打印区域的高度,其中2的意思是每页需要重复的标题行的数目
int PrintAreaHeight=(PrintRowCount%PageRowCount==0)?PrintRowCount+2:PrintRowCount+LoopNum+2;

%> 

  6. 在<style></style>后,改动<!--[if gte mso 9]与<![endif]-->标签中的XML标签内容,主要是设置动态打印区域(以Excel为例):

<% 

out.print(" ......
"<x:ExcelName>"+
"<x:Name>Print_Area</x:Name>"+
"<x:SheetIndex>1</x:SheetIndex>"+
"<x:Formula>=Sheet1!$A$1:$G$"+PrintAreaHeight+"</x:Formula>"+
"</x:ExcelName>"+
...... ");

%> 

  7. JSP其他编码。

  下面是主体循环打印部分(以Excel为例):

<% 
for (int i=1;i<=PrintRowCount; i++)
{
out.print("<tr>"<td>"+i+"</td></tr>"); //有内容
}

if (LoopNum!=PageRowCount) //有空行则打印空行补齐最末一页
for (int j=1;j<=LoopNum; j++)
{
out.print("<tr><td> </td></tr>");//无内容
}
%> 

  8. 测试并继续修改。
楼主参考一下
------解决方案--------------------
你要什么样子的
复杂点的就用润乾的快意报表 ,开源的就用jasperreport+ireport

还有一个及其简单的,简单网页打印smsx.cab
看这里吧 http://www.7say.com/article.asp?id=112

------解决方案--------------------
服务器端生成 PDF 格式的 报表可能是一种选择
------解决方案--------------------
LZ,你试试ITEXT吧,生成PDF。在网上搜下,java的一个类库