巧借Excel另存功能,在VFP中转换表格为CSV格式

本文介绍了一种在Visual FoxPro(VFP)中将DBF格式数据转换为CSV格式的方法,通过先转换为Excel文件再另存为CSV。由于COPY TO命令存在行数限制,作者使用OLE对象创建Excel工作簿并填充数据,然后保存为CSV。后来发现直接用Excel打开DBF文件并另存为CSV更高效。
摘要由CSDN通过智能技术生成

    本人日前正在为公司写一个接口,需要将DBF格式数据转换成为CSV格式。CSV格式即是以逗号分隔的一种文本文件。VFP中只有通过COPY TO 命令将数据转换成为TXT、Excel、DBase等格式,但是不能直接将数据转换成为CSV格式。于是想先将数据转换成为Excel格式再将其转换成CSV格式,因为Excel可以将其中的数据转换成为CSV格式。

    首先在转换DBF到Excel时发现COPY TO 命令有最大行数的限制,超过16000行就会自动丢弃,而且不报警。于是使用OLE在VFP中填写Excel文件。实现如下:

* InFile           需要转换的DBF表名称
* OutFile        导出的文件名称
function ConverttoExcel(InFile,OutFile)
 local XLApp,XLSheet

 XLApp = GetObject('','Excel.Application')
 XLApp.WorkBooks.add
 XLSheet = XLApp.ActiveSheet

 use &InFile alias table1

 * 读取字段数
 fz = fcount()

 * 写第一行字段名称
 for y = 1 to fz
  XLSheet.Cells(1,y).value = fields(y)
 next

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值