DBF数据库如何批量转Word文档?

10-16

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下载。

DBF数据库如何批量转Word文档?