色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

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. 測試并繼續修改。

jsp技術JSP 報表打印的一種簡單解決方案,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 陇西县| 吉木乃县| 安西县| 广宗县| 吴旗县| 谢通门县| 双辽市| 宕昌县| 枣阳市| 樟树市| 开原市| 察雅县| 旬邑县| 德州市| 巴林右旗| 镇雄县| 房山区| 平阴县| 云南省| 西充县| 府谷县| 大兴区| 固原市| 噶尔县| 林甸县| 陆川县| 成都市| 宿迁市| 个旧市| 成都市| 调兵山市| 敖汉旗| 施甸县| 来宾市| 黎城县| 绩溪县| 巴林右旗| 瑞丽市| 芮城县| 杭锦旗| 北京市|