- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
比传统方式速度快百倍的Excel数据传递方案
比传统方式速度快百倍的Excel 数据传递方案
李思维 mailto:thinkinglee@
现在越来越多的人开始使用 ole 控制 excel 来作报表输出,vfp 的任务除了创
建与控制对象外,最繁重的就是
要将数据传递到 excel 中,经典作法都是:
excel.cells(行号,列号).value=值的格式进行传递,书上这么写,程序员也这
么作,论坛上的文章抄来抄去
也都这么说,但实施起来速度将令你无法忍受;
我有一张表,只有20 个字 ,1000 条记录,这对vfp 来说算是非常小的表吧?
但我用这种方法传递到 excel
中竟用了 6 分钟左右!如果用户经常进行这样的操作,再文雅的用户可能也会破
口大骂!
于是我就动手作了个试验,在命令行状态下一行一行地执行,先将这个表
copy 到一个临时的dbf 文件中
(必须带 fox2x,否则excel 97-xp 均不认识!),在
excel 中操作: 打开这个临时的dbf 文件,然后选定从第二行(除开字 行)至末
尾的所有记录,复制它,切换到我
的excel 正式的工作表中,粘贴它,我感觉再大的
文件都能迅速完成,速度非常快,于是我就用vfp 程序来完成这一动作,结果速度
快了上百倍。
如按以面的程序,
我按 20 个字 *10000 条(注意是 1 万),按我的优化方式,试验结果耗时
9.69 秒左右
再按20 个字 *1000 条(注意是1千), 按传统方式运行,试验结果耗时 365
秒左右,若按10000 条,就是3650
秒甚至更多,你通 试验就知道它越来越慢,耗时呈非线性增长!
下述程序 是一个完整的prg 程序,请你粘贴它到任何一个prg 程序中,在命
令行进行do,从而完成我即将描
述的试验!
#define 要试验的记录数 1000
#define 按优化方式运行 .f.
#define False .f.
#define xlCenterAcrossSelection 7
#define xlCenter -4108
#define xlUnderlineStyleNone -4142
#define xlAutomatic -4105
#define xlGeneral 1
#define xlNone -4142
#define xlContinuous 1
#define xlThin 2
#define xlDiagonalDown 5
#define xlDiagonalUp 6
#define xlEdgeLeft 7
#define xlEdgeTop 8
#define xlEdgeBottom 9
#define xlEdgeRight 10
#define xlInsideVertical 11
#define xlInsideHorizontal 12
#define xlvalues -4163
local excel,ii,jj,ii1,ii2,dbf 文件名,on_error,错误
clos data all
crea curs 示范表 (字 1 c(10),字 2 n(5),字 3 i,字 4 d,字 5 c(20),
字 6 c(3),字 7 n(7,2),字
8 c(20),字 9 c(15),字 10 c(8),字 11 c(10),字 12 n(3),字 13 i,
字 14 d,字 15 c(20),字
16 c(3),字 17 n(7,2),字 18 c(20),字 19 c(15),字 20 c(8))
local 临时数组(要试验的记录数,1)
appe from arra 临时数组
rand(1)
repl all 字 1 with sys(2015), 字 2 with recn(), 字 3 with
rand()*1000000
您可能关注的文档
- 4款精致小菜,简直比肉香百倍!.pdf
- 比凌迟残酷一百倍的刑罚,武则天升级后,五千年来仅仅三个女人受此刑.pdf
- 这样炖鸡汤,香浓好喝百倍.pdf
- 传说中的龙石种翡翠,比玻璃种还漂亮百倍!.pdf
- 阴道被撑开百倍!女性生孩子痛到要命!.pdf
- 猪身上的一个部位营养比猪肉多10倍,只用一招,好吃百倍!.pdf
- 华商名人堂 l 一甩手就是上百倍回报,她才是真正的赚钱女王.pdf
- 小时候的红色一元你还有么?未来十年有可能升值百倍.pdf
- 司马光《百官公卿表》辨析.pdf
- 惊!农村人才能够吃的东西,吃完战斗力提升几百倍!是不是看惊呆了!.pdf
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)