新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Java, J2SE, J2ME, J2EE, 以及Eclipse, NetBeans, JBuilder等Java开发环境,还有JSP, JavaServlet, JavaBean, EJB以及struts, hibernate, spring, webwork2, Java 3D, JOGL等相关技术。
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 Java/Eclipse 』 → 使用jsp实现word、excel格式报表打印 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 2392 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 使用jsp实现word、excel格式报表打印 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     jcxuefeng 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(数据结构考了98分!)
      文章:79
      积分:378
      门派:XML.ORG.CN
      注册:2005/9/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jcxuefeng发送一个短消息 把jcxuefeng加入好友 查看jcxuefeng的个人资料 搜索jcxuefeng在『 Java/Eclipse 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jcxuefeng的博客楼主
    发贴心情 使用jsp实现word、excel格式报表打印

    使用jsp实现word、excel格式报表打印
    转载 (evan 原创)

    title: 使用JSP实现WORD、EXCEL格式报表打印

    author: evan

    email: maioto:evan_zhao@hotmail.com

    date: 2003-08-21


    因为ms word和excel的文档都支持html文本格式,因此可以先用word或excel做好模版,另存为Web页,然后将该html改成jsp,将数据部分动态填入即可,不用很辛苦的调整格式

    word页面只要在jsp头设置如下指令:
    <%@page contentType="application/msword;charset=GBK" %>

    excel如下:
    <%@page contentType="application/vnd.ms-excel;charset=GBK" %>

    使用这种方式客户端必须安装有office软件,用户访问时将在ie中直接用word或excel打开该页面。

    此方法优势是模板设计、调整方便,无需在服务器端使用复杂的POI或jxl技术,也无需在客户端使用ActiveX控件技术,更安全、方便,轻松实现较好的打印效果。

    microsoft关于服务器端动态创建office文档的资料(asp示例):
    http://support.microsoft.com/default.aspx?scid=KB;en-us;301044&

    简单示例:

    使用word建立一文档,画表格如下:
    ----------------------------
    | 用户名 | 真实姓名 | 性别 |
    ----------------------------
    | guest  | 路人甲   | 男   |
    ----------------------------
    保存为Web页test.htm, 将test.htm改名为test.jsp,修改其中guest、路人甲、男为从数据库动态查询,如下:

    <%@ page contentType="application/msword;charset=GBK" %>
    <%@ page import="java.sql.*" %>
    <html xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:w="urn:schemas-microsoft-com:office:word"
    xmlns="http://www.w3.org/TR/REC-html40">

    <head>
    <meta http-equiv=Content-Type content="text/html; charset=GB2312">
    <meta name=ProgId content=Word.Document>
    <meta name=Generator content="Microsoft Word 9">
    <meta name=Originator content="Microsoft Word 9">
    <title>用户信息</title>
    <!--[if gte mso 9]><xml>
    <o:DocumentProperties>
      <o:Author>evan zhao</o:Author>
      <o:LastAuthor>evan zhao</o:LastAuthor>
      <o:Revision>1</o:Revision>
      <o:TotalTime>1</o:TotalTime>
      <o:Created>2003-08-20T16:26:00Z</o:Created>
      <o:LastSaved>2003-08-20T16:27:00Z</o:LastSaved>
      <o:Pages>1</o:Pages>
      <o:Company>taiping</o:Company>
      <o:Lines>1</o:Lines>
      <o:Paragraphs>1</o:Paragraphs>
      <o:Version>9.2812</o:Version>
    </o:DocumentProperties>
    </xml><![endif]--><!--[if gte mso 9]><xml>
    <w:WordDocument>
      <w:PunctuationKerning>
      <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
      <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
      <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
      <w:Compatibility>
       <w:SpaceForUL>
       <w:BalanceSingleByteDoubleByteWidth>
       <w:DoNotLeaveBackslashAlone>
       <w:ULTrailSpace>
       <w:DoNotExpandShiftReturn>
       <w:AdjustLineHeightInTable>
       <w:UseFELayout>
      </w:Compatibility>
    </w:WordDocument>
    </xml><![endif]-->
    <style>
    <!--
    /* Font Definitions */
    @font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-alt:SimSun;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
    @font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        mso-pagination:none;
        font-size:10.5pt;
        mso-bidi-font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:宋体;
        mso-font-kerning:1.0pt;}
    /* Page Definitions */
    @page
        {mso-page-border-surround-header:no;
        mso-page-border-surround-footer:no;}
    @page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;
        mso-header-margin:42.55pt;
        mso-footer-margin:49.6pt;
        mso-paper-source:0;
        layout-grid:15.6pt;}
    div.Section1
        {page:Section1;}
    -->
    </style>
    </head>

    <body lang=ZH-CN style='tab-interval:21.0pt;text-justify-trim:punctuation'>

    <div class=Section1 style='layout-grid:15.6pt'>


    <table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;
    border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'>
    <tr>
      <td width=189 valign=top style='width:142.0pt;border:solid windowtext .5pt;
      padding:0cm 5.4pt 0cm 5.4pt'>
      <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
      mso-hansi-font-family:"Times New Roman"'>用户名</span></p>
      </td>
      <td width=189 valign=top style='width:142.05pt;border:solid windowtext .5pt;
      border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
      <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
      mso-hansi-font-family:"Times New Roman"'>真实姓名</span></p>
      </td>
      <td width=189 valign=top style='width:142.05pt;border:solid windowtext .5pt;
      border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
      <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
      mso-hansi-font-family:"Times New Roman"'>性别</span></p>
      </td>
    </tr>
    <%
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    String url="jdbc:odbc:mydb";

    //连接mydb数据库
    Connection con=DriverManager.getConnection (url, "", "");

    try{
      Statement stmt=con.createStatement();

      //查询employee表
      ResultSet rs=stmt.executeQuery("select user_name, real_name, gender from employee ");

      while(rs.next()){
    %>

    <tr>
      <td width=189 valign=top style='width:142.0pt;border:solid windowtext .5pt;
      border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
      <p class=MsoNormal><span lang=EN-US><%=rs.getString("user_name")%></span></p>
      </td>
      <td width=189 valign=top style='width:142.05pt;border-top:none;border-left:
      none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
      mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
      padding:0cm 5.4pt 0cm 5.4pt'>
      <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
      mso-hansi-font-family:"Times New Roman"'><%=rs.getString("real_name")%></span></p>
      </td>
      <td width=189 valign=top style='width:142.05pt;border-top:none;border-left:
      none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
      mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
      padding:0cm 5.4pt 0cm 5.4pt'>
      <p class=MsoNormal><span style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
      mso-hansi-font-family:"Times New Roman"'><%=rs.getString("gender")%></span></p>
      </td>
    </tr>

    <%
      } // end while
      
      rs.close();
      stmt.close();
    } finally {
      con.close();
    }
    %>

    </table>

    <p class=MsoNormal><span lang=EN-US><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>

    </div>

    </body>

    </html>


       收藏   分享  
    顶(0)
      




    ----------------------------------------------
    学会对别人说NO~

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/9/19 10:52:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Java/Eclipse 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/9/16 5:35:26

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    50.781ms