国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

JSP 報表打印的一種簡單解決方案

2024-09-05 00:21:05
字體:
來源:轉載
供稿:網友
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. 測試并繼續修改。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄骅市| 绵竹市| 吉木乃县| 侯马市| 黄龙县| 离岛区| 黔南| 巧家县| 嘉鱼县| 精河县| 奉贤区| 蓬安县| 芷江| 盱眙县| 铁岭县| 湘潭市| 乌海市| 榆中县| 崇明县| 泰来县| 舟曲县| 涿鹿县| 新乡县| 汪清县| 永清县| 桓仁| 伊宁县| 鸡泽县| 莒南县| 湘潭市| 桐城市| 邹城市| 柏乡县| 噶尔县| 息烽县| 邹平县| 兰坪| 新闻| 东明县| 渝北区| 时尚|