畢業(yè)設計需要從庫里取紀錄生成word文檔,我找了半天,主要有這么幾種方法: 1。改頭,就是象excel似的 Response.Buffer = TRUE Response.ContentType = "application/vnd.ms-excel" '--excel Response.ContentType = "application/msword" '--word excel倒是沒事,但word就是總出錯。弱!
2。微軟的RTF-DOC的例子 它的例子倒是很成功,可根據(jù)實際需要改起來,不好弄,格式不好控制。
3。調(diào)用word.application對象 在客戶端用這種東西Set objWordDoc = CreateObject("Word.Document")來調(diào)用word生成,但是要用戶改客戶端的安全級別設置,不好!格式控制起來也麻煩。我鼓搗了老半天也搞不定。
4。利用FSO生成word文檔 不敢說原創(chuàng),只能說是綜合大家的東西,搞成了這個東西。本文主要介紹我的這種方法。
下面主要介紹從數(shù)據(jù)庫中取資料,然后利用FSO生成Word文檔的例子,先給出部分代碼,最后給出全部代碼。
從數(shù)據(jù)庫中讀取數(shù)據(jù)的代碼:
<% '創(chuàng)建RecordSet對象 Set rs = Server.CreateObject("ADODB.Recordset")
'SQL語句根據(jù)實際情況調(diào)整 sql="select * from People where PeopleId=" & PeopleId
'Open RecordSet,省略了創(chuàng)建及打開connection對象的代碼,請自行添加 rs.open sql,conn,3,3
if rs.eof and rs.bof then '無記錄 else '做點事情,主要是從數(shù)據(jù)庫中獲取一些資源 '賦給變量,再用FSO生成 end if rs.Close Set rs=Nothing conn.Close Set conn = Nothing %>
用FSO創(chuàng)建word的代碼:
<% '下面生成文件的代碼。 Dim fso, MyFile '創(chuàng)建FSO對象,有些服務器有可能不支持這個對象,那就沒戲了 Set fso = CreateObject("Scripting.FileSystemObject") '文件名 sFileName = "temp.doc" '生成新文件文件放在當前目錄的word/下,當前測試時必須有這個目錄 Set MyFile = fso.CreateTextFile(Server.MapPath(".")& "\word\"&sFileName, True)
myString="這里是你預先排好的word文檔,要填的地方都空好了,怎么弄底下告訴!"
'將MyString作為新文件的內(nèi)容寫入文件 MyFile.WriteLine(myString) MyFile.Close '關閉文件 %>
文件已經(jīng)生成了。注意在iis里把word目錄設置為“寫入”。 以下將word文檔以數(shù)據(jù)流寫出,不讓IE自動打開,防止出錯誤提示。
出處:藍色理想
責任編輯:cjj
上一頁 下一頁 將數(shù)據(jù)庫的內(nèi)容生成WORD文檔 [2]
◎進入論壇網(wǎng)絡編程版塊參加討論
|