Visual FoxPro 6.0的数据导出
发布网友
发布时间:2023-11-06 01:25
我来回答
共2个回答
热心网友
时间:2024-10-21 05:17
在 VFP6.0 中,用导出的方法,最大极限只能是两万条!哪怕是用 VFP9.0 也一样!
若用 VFP 的程序往里写,即所谓的〔用 VFP 控制 Excel〕,其方法最多也只能在
一张 Excel 的表中写入 2 的 16 次方条记录,即:65536 条!而且慢得让人无法忍受!
若用这个方法,十几万条估计费时不低於二十个小时!!!
就我所知较为快捷的方法是:手动去做,不一定是最好的哟,呵呵...
一,
USE YourTable
COPY ALL TO TmpCsv01 CSV FOR RECNO() <= 60000
COPY ALL TO TmpCsv02 CSV FOR RECNO() > 60000 AND RECNO() <= 120000
COPY ALL TO TmpCsv03 CSV FOR RECNO() > 120000
二,
再用 Excel 打开这三个文件,拷贝后粘贴在同一文件的三张表中!
只能这样,我们暂时还没有其它的方法来突破 Excel 的 2 的 16 次方的*!
热心网友
时间:2024-10-21 05:18
遇到这种情况我是逐记录写入到EXCEL的单元格上去。我手头电脑没有现成的例子,家里的倒有。不过我先发个相关的资料给你看看,如果不清楚的话,留言给我,我发具体的代码给你。
VFP控制EXCEL的语法如下:
myexcel=createobject('excel.application')
&&创建一个对象
myexcel.visible=.t.&&可见
&&bookexcel=myexcel.workbooks.add
bookexcel=myexcel.workbooks.open("C:\Documents and Settings\Administrator\桌面\学习\dd.xls")
&&打开指定文件
nrows=bookexcel.worksheets('sheet1')&&打开工作表
UsedRange =nrows.UsedRange&&返回工作表中可使用的区域,UsedRange表的属性
usedrange.columns.count&&计算共几列
r=usedrange.rows.count&&汇总行
c=usedrange.columns.count&&汇总列
with myexcel.application
.sheets('sheet3').select
.sheets.add&&添加一个工作表
.ActiveSheet.Name = 'ddddd'&&重命名表
endwith
myexcel.Worksheets('sheet1').Activate&&选择表为当前工作表
myexcel.cells(1,1).value='sss'&&1,1处的值为
myexcel.activesheet.columns(2).columnwidth=15&&第2列的列宽设
myexcel.activesheet.rows(2).rowheight=50&&设第2行的行高
myexcel.activesheet.rows(2).insert&&第2行前插入一行
myexcel.activesheet.columns(2).insert&&第2列前插入一列
myexcel.activesheet.Cells(1,1).Font.size=25&&设置1,1的字体大小
myexcel.activesheet.Cells(1,1).Font.name='黑体'&&设置字体
myexcel.activesheet.Cells(1,1).clear&&清除内容
myexcel.activesheet.range('A1:C2').select&&选择区域
myexcel.selection.merge &&选择区域合并单元格
myexcel.activesheet.Columns('A:B').Select&&整列选中
myexcel.Selection.NumberFormatLocal="@" &&设置选中的区域为字符型数据
myexcel.activesheet.rows(1).select
myexcel.Selection.EntireRow.Delete&&删除选中的行
myexcel.Selection.columns(1).Delete&&删除第几的列
myexcel.workbooks.close&&关闭工作区
*myexcel.workbooks.close(.f.)&&关闭工作区不提示保存
myexcel.quit&&excel
********************************************************
*生成一个表并显示可用的sheets
&&oExcel = CREATE("Excel.Application")
&&oExcel.Workbooks.ADD
&&FOR EACH oMyVar IN oExcel.sheets
&& ? oMyVar.name
&&NEXT oMyVar