JSP 报表打印的一种简单解决方案

2016-02-19 09:43 13 1 收藏

下面图老师小编跟大家分享一个简单易学的JSP 报表打印的一种简单解决方案教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

【 tulaoshi.com - Web开发 】

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:NamePrint_Area/x:Name"+
"x:SheetIndex1/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("trtd /td/tr");//无内容
}
%
  8. 测试并继续修改。

来源:http://www.tulaoshi.com/n/20160219/1591889.html

延伸阅读
标签: Java JAVA基础
只需要保持下面几处地方设置统一,你的JSP就不会有中文问题  1、JSP的charset 2、你的JSP SERVER编译JSP是使用的字符集,默认和操作系统是一样的。你可能需要进行修改  3、你的BEAN编译时候所采用的字符集,一般用JAVAC编译,都是和操作系统一样的,但你可以通过带参数来改变。如果用其它的编程工具,可以编译的话,你可能需要...
标签: Web开发
情况一:针对页面上少量元素不打印(不预览)的情况的解决办法是使用style,具体如下: 定义如下style: @media print { .notprint { display:none; } } @media screen { .notprint { display:inline; cursor:hand; } } 所有需要显示但不需要打印(预览)的元素都加上: class='notprint' 情况二:针对只打印(预览)页...
一个打印报表的简单的类 作者:李静南 下载源代码 一、前两天为公司改程序,其中有一部分是要打印出报表。原来的程序是调用VB写的一个程序。那个程序用VBA方式实现的,在一个空的WORD表格模板里填入数据,让WORD去打印,效果还可以,就是速度很慢。但是这次,上次写代码的人已经不在...
标签: ASP
  程序代码: <script Language=VBScript   Function print_onclick //打印函数    Dim label    label=document.printinfo.label.value //获得HTML页面的数据    set objfs=CreateObject("Scripting.FileSystemObject") //创建FileSystem组件对象的实例    set objprinter=o...
标签: ASP
  以下是IE打印设置脚本  <script language="VBScript"          Dim hkey_root,hkey_path,hkey_key          hkey_root  = "HKEY_CURRENT_USER"          hkey_path = "\Software\Microsof...

经验教程

353

收藏

96
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部