Visual FoxPro 6.0的数据导出
我用VisualFoxPro6.0数据库处理我厂数据,导出Excel表格时,只能导出前两万条数据,我总共数据位5万多条,Excel表格可以导出6万多条来,请问是什么原因,...
我用Visual FoxPro 6.0数据库处理我厂数据,导出 Excel表格时,只能导出前两万条数据,我总共数据位5万多条, Excel表格可以导出6万多条来,请问是什么原因,如何解决。
请说明步骤,详细点。
如数据在增加到10万条以上,我如何导出数据 Excel表格请赐教。
如回答满意。可追加高分。 展开
请说明步骤,详细点。
如数据在增加到10万条以上,我如何导出数据 Excel表格请赐教。
如回答满意。可追加高分。 展开
展开全部
在 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 次方的限制!
若用 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-28 广告
2024-10-28 广告
Altair HyperWorks是一套功能强大的集成化CAE(计算机辅助工程)软件平台,由Altair公司开发。它涵盖了结构分析、流体动力学、优化、多体动力学、电磁场仿真等多个领域,提供了丰富的仿真工具和优化算法。HyperWorks以其...
点击进入详情页
本回答由名片提供
展开全部
遇到这种情况我是逐记录写入到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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询