找回密码
 加入
搜索
查看: 4818|回复: 8

[效率算法] LISTVIEW 导出到 EXCEL

[复制链接]
发表于 2015-6-4 16:21:55 | 显示全部楼层 |阅读模式
listview 导出到EXCEL (可以选择路径,输入文件名)一般怎么做效率高,我的数据量很大。
目前我是这么做的,
先调用FileSaveDialog 得到想要保存的文件完整路径,如果取消则退出,
判断完整路径是否包含文件后缀,如果没有则自动添加。
新建EXCEL文件,
_GUICtrlListView_GetItemTextString读取LISTVIEW中的数据
循环
excel.cells(x,y).value=XXX
再_excelbooksaveas成刚才的完整路径,强制覆盖

感觉效率很低。
发表于 2015-6-4 19:14:59 | 显示全部楼层
写到数组里再写入excel表里,注意行与列与excel是相反的
发表于 2015-6-5 21:12:56 | 显示全部楼层
能否纯后台写入,那个数组写入速度还行,不过还是用excel来写入的(可以隐藏界面),
有没有组件直接生成XLS可XLSX文件
发表于 2015-6-7 15:22:23 | 显示全部楼层
我以前也是用数组,感觉还行
发表于 2015-6-7 20:50:53 | 显示全部楼层
可以生成 csv文件啊,然后直接用excel就可以打开了
发表于 2015-6-9 09:12:43 | 显示全部楼层
回复 2# kevinch


    我感觉数据量很大的时候,用数组比较浪费时间,可以将读取出来的数据放到剪贴板里直接粘贴到Excel快多了,之前测试20W行数据,每行100列,用数组好像要十来分钟,剪切板大概要一分钟左右,不过要注意剪贴板容量似乎有限。数据量偏大时可以分多次粘贴
发表于 2015-6-9 21:16:07 | 显示全部楼层
回复 6# ap112
是有这个情况,所以太多数据的一般直接生成标准csv文件,csv文件就是文本文件,生成好了之后再用excel打开另存为excel文件,曲线一下吧
发表于 2015-6-11 19:59:16 | 显示全部楼层
本帖最后由 auto 于 2015-6-11 20:05 编辑

回复 7# kevinch


    CSV也有局限性,不带格式,纯文本,还要注意逗号问题,
   也不带压缩,在大数据的情况下,文件给变的很大。
   如,我导出的CSV有100M,多数可以通过RAR或XLS压缩到10-20M,
   导出不带格式,有些如果标记为字符型的数字会科学记数法,例如身份证号码等。

  还有一类型CSV的XML或HTML记录,也是纯文本,可以带格式。不过数据大存储也是个问题

一直在找纯后台的操作EXECL的文件存储的办法
发表于 2015-6-11 20:10:53 | 显示全部楼层
超过15位的数字,前面加个单引号试下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-29 02:22 , Processed in 0.076951 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表