因为用户要求所做系统有文档自动生成的功能,所以我被安排负责用JAVA生成WORD文档的工作(因为咱是新手,没有经验呀!好象很简单),咱在网上晃来晃去,就是没有发现一个关于这方面的东东(咱都快绝望了),就在这时,在红雨姐姐这个BBS上认识了Itsyh老弟,Itsyh老弟告诉我在http://www.itpub.net/上看到过关于JAVA生成文档的帖子,于是呼!咱就飞奔而至,还真找到了这方面的内容(可惜呀!咱白高兴一场),有位老大说用jakarta的POI能够解决在服务器端用JAVA生成WORD文档的问题,于是咱就飞奔到http://jakarta.apache.org/poi/index.html上看了一下,结果还真是可以呀!连忙下了一个,于是就开始看POI的文档,我看呀!看呀!终于咱傻了。
因为在POI中对于EXCEL的HSSF模块功能已经做的很好了,对于WORD的HDF功能还在开发过程中呀!下面这段文字就jakarta给我带来的困惑(We are looking for developers!!! If you are interested in helping with HDF familiarize yourself with the source code and just start coding. Make sure you read the guidelines for getting involved ),咱终于要放弃这个POI了,于是就想到了在客户端生成应该没有这么复杂吧!
终于熬了一晚,在同事的热心教导下,偶终于完成了用JAVASCRIPT或VBSCRIPT在客户端生成WORD文档的代码工作(哎!因为我们两个都不太会用WORD,而吃了大亏呀!呵呵。。。等于是研究了WORD一个晚上),虽然有浏览器安全警告上的问题,但是使用的还不错。
注意:客户端要装OFFICE
下面我就把代码给大家参考一下,希望大家以后能用到。
对WORD文档,我使用的文字型窗体区域的功能,所有区域定义好以后有个名字,也就是我要替换的名字。(替换内容长度可以不献呀!)
VBSCRIPT代码:
<SCRIPT LANGUAGE="vbscript">
function word_onclick()
Set myDocApp = CreateObject("Word.Application")
myDocApp.Visible = True
myDocApp.Activate
set myDoc = myDocApp.Documents.Open("http://localhost/test/test.doc")
str = word_proc.textarea.value
myDoc.FormFields("test").Range = str
end function
</SCRIPT>
JAVASCRIPT代码:
<SCRIPT LANGUAGE="javascript">
function word_onclick()
{
var myDocApp =new ActiveXObject("word.Application");
myDocApp.visible = true;
myDocApp.activate();
var myDoc = myDocApp.documents.open("http://localhost/test/test.doc");
var str = word_proc.textarea.value;
myDoc.formFields("test").range = str;
}
</SCRIPT>
WORD文档看附件
希望大家能有更好的办法来解决这个问题。:D
posted on 2005-06-10 14:59
楚客 阅读(328)
评论(0) 编辑 收藏 所属分类:
HTML