第三种方案利用word强大的排版、打印功能,把排版和打印的需求扔到word中,OA软件要做的仅仅是让数据导到word中去。JAVA读取WORD模板,通过XML读取相关的数据库数据,自动转载数据到WORD模板中,最终展现给客户打印的是WORD。通常,客户的报表都有word格式,或政务OA中的红头文件,或院校OA中的奖学金格式,大家习惯用word制定。在客户提供的word格式中,制定标签,并且通过XML配置文件,把标签跟数据库的内容结合,达到自动装载数据又能保持原有word模板格式的效果。
 发文审批单 标 题:[SZGW_FWXX2-XXBT]
 日期:[SZGW_FWXX2-XXRQ]
 
主 送:[SZGW_FWXX2-XXZS]
 
拟稿单位领导签字:[QZ-SZGW-NGDWLD]
 
核稿人签字:[QZ-SZGW-NGR]
  发文审批单是政府单位在使用的,交到OA中,由实施人员加入[SZGW_FWXX2-XXBT]等标签。并且相应的配置XML文件:<block name="GW" table="SZGW_FWXX2" cond="XXID="><tag name="[SZGW_FWXX2-XXBT]" field="XXBT" mutil="false" desc="标题"/><tag name="[SZGW_FWXX2-XXRQ]" field="XXRQ" mutil="false" desc="日期"/></block><block name="QZ"><tag name="[QZ-SZGW-NGDWLD]" step="拟稿单位领导"/>       <tag name="[QZ-SZGW-NGR]" step="核稿人"/></block>
       至此完成打印单的设置,在需要打印的时候,系统自动生成word格式的打印单:发文审批单 标 题:关于**实施报告
 日期:2009年1月1日
 
主 送:市场部;办公室;财务部;人事部
 
拟稿单位领导签字:同意办理[admin,2009-01-01 00:57]
 
核稿人签字:同意[admin,2009-01-01 02:57] 上边是我从网上找的一个例子,他是怎么做到得?有人知道吗?或者这种功能,用其他方法如何实现。用JAVA那些包可以实现
老大们帮帮忙,谢了!!!

解决方案 »

  1.   


    <HTML>
      <HEAD>
        <title>WEB页面导出为Word文档的方法
        </title>
      </HEAD>
    <body>
    <BR>
    <table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" bgcolor = "#61FF13">
    <TR style="text-align : center;">
     <TD>单元格A</TD>
     <TD>单元格A</TD>
     <TD>单元格A</TD>
     <TD>单元格A</TD>
    </TR>
    <TR>
     <TD colSpan=4 style="text-align : center;"><font color="BLUE" face="Verdana">单元格合并行A</FONT></TD>
    </TR>
    </TABLE>
    <br><br><br>
    <input type="button" onClick="javascript:AllAreaWord();" value="导出页面指定区域内容到Word">
    <SCRIPT LANGUAGE="javascript">
     //指定页面区域内容导入Word
     function AllAreaWord()
     {
      var oWD = new ActiveXObject("Word.Application");
      var oDC = oWD.Documents.Add("",0,1);
      var oRange =oDC.Range(0,1);
      var sel = document.body.createTextRange();
      sel.moveToElementText(PrintA);
      sel.select();
      sel.execCommand("Copy");
      oRange.Paste();
      oWD.Application.Visible = true;
      //window.close();
     }
    </SCRIPT>
    </body></html>直接在页面上搞也可以
      

  2.   

    谢谢你的回答,但是这个路子不对,我不是要把网页生成WORD,像那些红头文件格式是不能马虎的,必须一摸一样,我的需要就和上边我截得一样,必须是不改变WORD格式的情况下将数据导入,谢谢你的回答
      

  3.   

    http://blog.csdn.net/java_mars/archive/2009/09/02/4511121.aspx
    基于Web的打印控件
      

  4.   

    这种情况一般要用第三方工具,例如:
    1、用sun的Open Office,不过这玩意太大,很难玩得了。
    2、用JACOB工具,轻量级的,它是一个java与windows系统com组件之间的中间件,如同jdmc-odbc桥一样。它的压缩包中有个dll文件,注册到系统下,java便可以通过它操纵word了,这个工具的地址是:http://danadler.com/jacob/