[摘錄](méi)使用jsp實(shí)現(xiàn)word、excel格式報(bào)表打印

           

          摘錄地址:http://360doc.com/showWeb/0/0/168066.aspx

           

          因?yàn)閙s word和excel的文檔都支持html文本格式,因此可以先用word或excel做好模版,另存為Web頁(yè),然后將該html改成jsp,將數(shù)據(jù)部分動(dòng)態(tài)填入即可,不用很辛苦的調(diào)整格式
           
          word頁(yè)面只要在jsp頭設(shè)置如下指令:
          <%@page contentType="application/msword;charset=GBK" %>
           
          excel如下:
          <%@page contentType="application/vnd.ms-excel;charset=GBK" %>

          使用這種方式客戶端必須安裝有office軟件,用戶訪問(wèn)時(shí)將在ie中直接用word或excel打開(kāi)該頁(yè)面。

          此方法優(yōu)勢(shì)是模板設(shè)計(jì)、調(diào)整方便,無(wú)需在服務(wù)器端使用復(fù)雜的POI或jxl技術(shù),也無(wú)需在客戶端使用ActiveX控件技術(shù),更安全、方便,輕松實(shí)現(xiàn)較好的打印效果。 

          microsoft關(guān)于服務(wù)器端動(dòng)態(tài)創(chuàng)建office文檔的資料(asp示例): 
          http://support.microsoft.com/default.aspx?scid=KB;en-us;301044&
           
          簡(jiǎn)單示例

          使用word建立一文檔,畫表格如下:
          ----------------------------
          | 用戶名 | 真實(shí)姓名 | 性別 |
          ----------------------------
          | guest  | 路人甲   | 男   |
          ----------------------------
          保存為Web頁(yè)test.htm, 將test.htm改名為test.jsp,修改其中guest、路人甲、男為從數(shù)據(jù)庫(kù)動(dòng)態(tài)查詢,如下:

          1. <%@ page contentType="application/msword;charset=GBK" %>
          2. <%@ page import="java.sql.*" %>
          3. <html xmlns:o="urn:schemas-microsoft-com:office:office"
          4. xmlns:w="urn:schemas-microsoft-com:office:word"
          5. xmlns="http://www.w3.org/TR/REC-html40">
          6. <head>
          7. <meta http-equiv=Content-Type content="text/html; charset=GB2312">
          8. <meta name=ProgId content=Word.Document>
          9. <meta name=Generator content="Microsoft Word 9">
          10. <meta name=Originator content="Microsoft Word 9">
          11. <title>用戶信息</title>
          12. <!--[if gte mso 9]><xml>
          13.  <o:DocumentProperties>
          14.   <o:Author>evan zhao</o:Author>
          15.   <o:LastAuthor>evan zhao</o:LastAuthor>
          16.   <o:Revision>1</o:Revision>
          17.   <o:TotalTime>1</o:TotalTime>
          18.   <o:Created>2003-08-20T16:26:00Z</o:Created>
          19.   <o:LastSaved>2003-08-20T16:27:00Z</o:LastSaved>
          20.   <o:Pages>1</o:Pages>
          21.   <o:Company>taiping</o:Company>
          22.   <o:Lines>1</o:Lines>
          23.   <o:Paragraphs>1</o:Paragraphs>
          24.   <o:Version>9.2812</o:Version>
          25.  </o:DocumentProperties>
          26. </xml><![endif]--><!--[if gte mso 9]><xml>
          27.  <w:WordDocument>
          28.   <w:PunctuationKerning>
          29.   <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
          30.   <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
          31.   <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
          32.   <w:Compatibility>
          33.    <w:SpaceForUL>
          34.    <w:BalanceSingleByteDoubleByteWidth>
          35.    <w:DoNotLeaveBackslashAlone>
          36.    <w:ULTrailSpace>
          37.    <w:DoNotExpandShiftReturn>
          38.    <w:AdjustLineHeightInTable>
          39.    <w:UseFELayout>
          40.   </w:Compatibility>
          41.  </w:WordDocument>
          42. </xml><![endif]-->
          43. <style>
          44. <!--
          45.  /* Font Definitions */
          46. @font-face
          47.     {font-family:宋體;
          48.     panose-1:2 1 6 0 3 1 1 1 1 1;
          49.     mso-font-alt:SimSun;
          50.     mso-font-charset:134;
          51.     mso-generic-font-family:auto;
          52.     mso-font-pitch:variable;
          53.     mso-font-signature:3 135135232 16 0 262145 0;}
          54. @font-face
          55.     {font-family:"\@宋體";
          56.     panose-1:2 1 6 0 3 1 1 1 1 1;
          57.     mso-font-charset:134;
          58.     mso-generic-font-family:auto;
          59.     mso-font-pitch:variable;
          60.     mso-font-signature:3 135135232 16 0 262145 0;}
          61.  /* Style Definitions */
          62. p.MsoNormal, li.MsoNormal, div.MsoNormal
          63.     {mso-style-parent:"";
          64.     margin:0cm;
          65.     margin-bottom:.0001pt;
          66.     text-align:justify;
          67.     text-justify:inter-ideograph;
          68.     mso-pagination:none;
          69.     font-size:10.5pt;
          70.     mso-bidi-font-size:12.0pt;
          71.     font-family:"Times New Roman";
          72.     mso-fareast-font-family:宋體;
          73.     mso-font-kerning:1.0pt;}
          74.  /* Page Definitions */
          75. @page
          76.     {mso-page-border-surround-header:no;
          77.     mso-page-border-surround-footer:no;}
          78. @page Section1
          79.     {size:595.3pt 841.9pt;
          80.     margin:72.0pt 90.0pt 72.0pt 90.0pt;
          81.     mso-header-margin:42.55pt;
          82.     mso-footer-margin:49.6pt;
          83.     mso-paper-source:0;
          84.     layout-grid:15.6pt;}
          85. div.Section1
          86.     {page:Section1;}
          87. -->
          88. </style>
          89. </head>
          90. <body lang=ZH-CN style='tab-interval:21.0pt;text-justify-trim:punctuation'>
          91. <div class=Section1 style='layout-grid:15.6pt'>
          92. <table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;
          93.  border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'>
          94.  <tr>
          95.   <td width=189 valign=top style='width:142.0pt;border:solid windowtext .5pt;
          96.   padding:0cm 5.4pt 0cm 5.4pt'>
          97.   <p class=MsoNormal><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
          98.   mso-hansi-font-family:"Times New Roman"'>用戶名</span></p>
          99.   </td>
          100.   <td width=189 valign=top style='width:142.05pt;border:solid windowtext .5pt;
          101.   border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
          102.   <p class=MsoNormal><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
          103.   mso-hansi-font-family:"Times New Roman"'>真實(shí)姓名</span></p>
          104.   </td>
          105.   <td width=189 valign=top style='width:142.05pt;border:solid windowtext .5pt;
          106.   border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
          107.   <p class=MsoNormal><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
          108.   mso-hansi-font-family:"Times New Roman"'>性別</span></p>
          109.   </td>
          110.  </tr>
          111. <%
          112. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
          113. String url="jdbc:odbc:mydb";
          114. //連接mydb數(shù)據(jù)庫(kù)
          115. Connection con=DriverManager.getConnection (url, """"); 
          116. try{
          117.   Statement stmt=con.createStatement(); 
          118.   //查詢employee表
          119.   ResultSet rs=stmt.executeQuery("select user_name, real_name, gender from employee ");
          120.   while(rs.next()){
          121. %>
          122.  <tr>
          123.   <td width=189 valign=top style='width:142.0pt;border:solid windowtext .5pt;
          124.   border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
          125.   <p class=MsoNormal><span lang=EN-US><%=rs.getString("user_name")%></span></p>
          126.   </td>
          127.   <td width=189 valign=top style='width:142.05pt;border-top:none;border-left:
          128.   none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
          129.   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
          130.   padding:0cm 5.4pt 0cm 5.4pt'>
          131.   <p class=MsoNormal><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
          132.   mso-hansi-font-family:"Times New Roman"'><%=rs.getString("real_name")%></span></p>
          133.   </td>
          134.   <td width=189 valign=top style='width:142.05pt;border-top:none;border-left:
          135.   none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
          136.   mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
          137.   padding:0cm 5.4pt 0cm 5.4pt'>
          138.   <p class=MsoNormal><span style='font-family:宋體;mso-ascii-font-family:"Times New Roman";
          139.   mso-hansi-font-family:"Times New Roman"'><%=rs.getString("gender")%></span></p>
          140.   </td>
          141.  </tr>
          142. <%
          143.   } // end while
          144.   
          145.   rs.close();
          146.   stmt.close();
          147. finally {
          148.   con.close();
          149. }
          150. %> 
          151.  
          152. </table>
          153. <p class=MsoNormal><span lang=EN-US><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
          154. </div>
          155. </body>
          156. </html>

           



          歡迎大家訪問(wèn)我的個(gè)人網(wǎng)站 萌萌的IT人

          posted on 2007-07-30 10:37 見(jiàn)酒就暈 閱讀(232) 評(píng)論(0)  編輯  收藏 所屬分類: 常用技術(shù)

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(3)

          我參與的團(tuán)隊(duì)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          BLOG

          FRIENDS

          LIFE

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 蒙山县| 晋中市| 伊金霍洛旗| 武义县| 波密县| 固始县| 罗定市| 施甸县| 全椒县| 江口县| 远安县| 新兴县| 拉萨市| 青川县| 桃源县| 崇州市| 玉山县| 进贤县| 宁安市| 怀来县| 军事| 会东县| 天等县| 常州市| 抚顺市| 武川县| 申扎县| 黑龙江省| 湾仔区| 颍上县| 定边县| 鸡西市| 富源县| 宜兰市| 东平县| 洞口县| 封开县| 乌兰县| 龙胜| 怀柔区| 丹阳市|