DBF數據庫中的數據怎樣轉到WORD文檔中?手工進行復制粘貼需要耗費不少時間精力,其實,一段小小的代碼可以解決問題。你只需照搬即可。下面系統之家就為你詳細介紹DBF數據庫批量轉Word文檔教程。
筆者在近期的工作中,定期需要對一些文檔信息進行歸類整理,並利用Visual FoxPro 制作成DBF數據表文件,同時還需要根據該數據表導出Excel文檔,並且制作Word文檔信息表進行打印輸出。由於DBF數據表的表結構以及Word文檔中表格字段都是固定的,加上每次整理的文檔信息數量頗大,手工進行復制粘貼需要耗費不少時間精力,因此筆者編寫了一個實現批量復制的小程序,即實現DBF數據到Word文檔表格的自動輸出。
程序開發環境為:VB6.0,Foxpro 6.0,Word 2003。
程序應用的相關技術有:ADO( (ActiveX Data Objects) )、OLE(Object Linking and Embedding,對象連接與嵌入)。
程序實現的基本思路是,通過ADO訪問DBF數據表,獲取數據表內容,並將其寫入固定格式的Word文檔表格。
使用到的主要對象有 ADODB.Connection、ADODB.Recordset,Word.Application、Word.Acttivedocument、Word.Range等。
通過ADO實現DBF數據表的訪問,VB代碼如下:
Dim cn As New ADODB.Connection
cn.ConnectionTimeout = 15
cn.ConnectionString = "Provider=MSDASQL;" & _
"Driver={Microsoft Visual Foxpro Driver};" & _
"SourceType=DBF;" & _
"SourceDB=" & dbfpath
cn.Open
實現DBF數據表的數據獲取,VB代碼如下:
Private rec As Variant
Dim rs As ADODB.Recordset
et rs = New ADODB.Recordset
Dim sqlstr As String
sqlstr = "select * from " & dbfname
rs.Open sqlstr, cn, adOpenStatic, adLockPessimistic
rec = rs.GetRows(n)
通過OLE實現打開Word文檔,VB代碼如下:
Private objWD As word.Application
Set objWD = CreateObject("Word.Application")
objWD.Documents.Open newfile ‘newfile 為文件名
實現Word文檔表格內容的填寫,VB代碼如下:
ActiveDocument.Tables.Item(i).Cell(j, wordcol).Range.Text = rec(j, i - 1)
(說明:rec 是一個存儲 Recordset數據集中數據的多維數組)
說明:為方便使用,所有相關代碼(如圖)也可到http://iask.sina.com.cn/u/ish?uid=1704202287下載。
本文來自於【系統之家】 www.xp85.com