江湖救急JAVA对word进行排版

其实我是真性情 2009-11-19 09:19:34

第三种方案利用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那些包可以实现
老大们帮帮忙,谢了!!!
...全文
335 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhangjihao 的回复:]
这种情况一般要用第三方工具,例如:
1、用sun的Open Office,不过这玩意太大,很难玩得了。
2、用JACOB工具,轻量级的,它是一个java与windows系统com组件之间的中间件,如同jdmc-odbc桥一样。它的压缩包中有个dll文件,注册到系统下,java便可以通过它操纵word了,这个工具的地址是:http://danadler.com/jacob/
[/Quote]
恩,我都下完了,不知道是否能满足我的需求,其实我最一开始就找的它,但是第一次路径没配对,之后就没继续研究。现在正在看例子,希望大家继续提建议!
howsun_zh 2009-11-19
  • 打赏
  • 举报
回复
这种情况一般要用第三方工具,例如:
1、用sun的Open Office,不过这玩意太大,很难玩得了。
2、用JACOB工具,轻量级的,它是一个java与windows系统com组件之间的中间件,如同jdmc-odbc桥一样。它的压缩包中有个dll文件,注册到系统下,java便可以通过它操纵word了,这个工具的地址是:http://danadler.com/jacob/
道光2008 2009-11-19
  • 打赏
  • 举报
回复
vba编程
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sggsg 的回复:]
http://blog.csdn.net/java_mars/archive/2009/09/02/4511121.aspx
基于Web的打印控件
[/Quote]
谢谢,可我是想打印word
钱不是问题 2009-11-19
  • 打赏
  • 举报
回复
http://blog.csdn.net/java_mars/archive/2009/09/02/4511121.aspx
基于Web的打印控件
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sggsg 的回复:]
直接在页面上搞也可以
[/Quote]
谢谢你的回答,但是这个路子不对,我不是要把网页生成WORD,像那些红头文件格式是不能马虎的,必须一摸一样,我的需要就和上边我截得一样,必须是不改变WORD格式的情况下将数据导入,谢谢你的回答
钱不是问题 2009-11-19
  • 打赏
  • 举报
回复

<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>

直接在页面上搞也可以
zhouyongyang 2009-11-19
  • 打赏
  • 举报
回复
我也帮你顶下吧,,我也不会
  • 打赏
  • 举报
回复
自己先顶一下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧