国产探花免费观看_亚洲丰满少妇自慰呻吟_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. 測試并繼續修改。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 左云县| 修武县| 连江县| 新乐市| 邻水| 晋城| 息烽县| 安庆市| 始兴县| 山西省| 崇义县| 周口市| 石门县| 大丰市| 农安县| 南宫市| 安乡县| 高尔夫| 淮北市| 鲁甸县| 东方市| 沧源| 慈利县| 马边| 临城县| 包头市| 衡水市| 穆棱市| 安义县| 扶余县| 祁连县| 贺兰县| 隆昌县| 邻水| 通城县| 滨海县| 中阳县| 德清县| 犍为县| 菏泽市| 蓝山县|