腾讯视频/爱奇艺/优酷/外卖 充值4折起
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下载。