如何最高效地处理Excel表格中的数据??

jsjjms 2006-08-10 10:30:56
情况如下:
一张 Excel表格中有10个sheet,
现在要按顺序读从第一个sheet开始一行一行地读,
但是VB操作Excel表格速度非常的慢。
总共有2000行数据,大概需要45s左右,原先使用notepad来
管理那么多数据,只要3~5s,
但notepad一点也不方便,请问各位有没有
什么好的方法来高效处理这些 Excel里的数据?


Ps:一定要使用Excel来管理的,就是在解析这些数据的时候有没有快一点的方法?
可不可以将每一张sheet都转化成.txt格式的,然后再处理?
如果可以,VB中如何将Excel中sheet转txt格式?


谢谢·
...全文
167 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hohairen 2006-09-22
  • 打赏
  • 举报
回复
强人啊
jsjjms 2006-08-10
  • 打赏
  • 举报
回复
谢谢两位,我试了一下。用ADO果然方便而且快,

to fxy_2002(阿勇) :
range 的数据与数组是可以互转的,你可以先将所有行读入数组,

怎么处理可以互换呢?
谢谢!
fxy_2002 2006-08-10
  • 打赏
  • 举报
回复
用 ado 是最快的办法。
不过如果文件不规则,就不是太好办。

另外,range 的数据与数组是可以互转的,你可以先将所有行读入数组,然后再处理数组,会比一格格读快许多。
lanWay 2006-08-10
  • 打赏
  • 举报
回复
1.如果要打開excel文件處理,速度的效率,你只能從硬件上提高(除非代碼結構有問題)
,因excel所占資源過大
2.至於轉成txt,你可以直接使用excel的轉換功能處理
3.另外你看看你的excel文件直接用ado打開處理:
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;257819
fxy_2002 2006-08-10
  • 打赏
  • 举报
回复
Dim arrData() As Variant

'将 range 转成数组
arrData = objSheet.Range("A1:B9").Value

'将数组转成 range
objSheet.Range("A1:B9").Value = arrData

objsheet 是 excel sheet 对象
具体内容请参考我的BLOG:http://blog.csdn.net/smallwhiteyt/archive/2009/11/08/4784771.aspx 如果你耐心仔细看完本文,相信以后再遇到导出EXCLE操作的时候你会很顺手觉得SO EASY,主要给新手朋友们看的,老鸟可以直接飘过了,花了一晚上的时间写的很辛苦,如果觉得对你有帮助烦请留言支持一下,我会写更多基础的原创内容来回报大家。 C#导出数据EXCEL表格是个老生常谈的问题了,写这篇文章主要是给和我一样的新手朋友提供两种导出EXCEL的方法并探讨一下导出的效率问题,本文的代码直接就可用,其部分代码参考其他的代码并做了修改,抛砖引玉,希望大家一起探讨,如有不对的地方还请大家多多包涵并指出来,我也是个新手,出错也是难免的。 首先先总结下自己知道的导出EXCEL表格的方法,大致有以下几种,有疏漏的请大家补充。 1.数据逐条逐条的写入EXCEL 2.通过OLEDB把EXCEL做为数据源来写 3.通过RANGE范围写入多行多列内存数据EXCEL 4.利用系统剪贴板写入EXCEL 好了,我想这些方法已经足够完成我们要实现的功能了,方法不在多,在精,不是么?以上4方法都可以实现导出EXCEL,方法1为最基础的方法,意思就是效率可能不是太高,当遇到数据量过大时所要付出的时间也是巨大的,后面3种方法都是第一种的衍生,在第一种方法效率低下的基础上改进的,这里主要就是一个效率问题了,当然如果你数据量都很小,我想4种方法就代码量和复杂程度来说第1种基本方法就可以了,或当你的硬件非常牛逼了,那再差的方法也可以高效的完成也没有探讨的实际意义了,呵呵说远了,本文主要是在不考虑硬件或同等硬件条件下单从软件角度出发探讨较好的解决方案。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧