邓州门户网,邓州在线 邓州门户网手手机app
  邓州吧   IT电脑·游戏   DBF数据库批量转Word文档
返回列表
查看: 4593|回复: 0
收起左侧

[技巧] DBF数据库批量转Word文档

[复制链接]
发表于 2014-11-19 16:58:53 | 显示全部楼层 |阅读模式
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下载。

          
门户网就是您的家!欢迎您常回家看看!如果您喜欢邓州门户网,请介绍给您身边的朋友!有了您的支持,门户网才能走得更远!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册通行证

收藏:0 | 帖子:4714

广播台

精彩推荐

邓州市,邓州网,邓州吧,邓州论坛,邓州门户网
手机客户端
邓州门户网公众微信
侵权举报:本页面所涉内容为用户发表并上传,相应的法律责任由用户自行承担;本网站仅提供存储服务;如存在侵权问题,请权利人与本网站联系删除!举报电话:0377-62265777