比传统方式速度快百倍的Excel数据传递方案.pdfVIP

比传统方式速度快百倍的Excel数据传递方案.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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

您可能关注的文档

文档评论(0)

jiquhe72163 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档