因為用戶要求所做系統有文檔自動生成的功能,所以我被安排負責用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文檔,我使用的文字型窗體區域的功能,所有區域定義好以后有個名字,也就是我要替換的名字。(替換內容長度可以不獻呀?。?/SPAN>
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