您的位置:程序门 -> vb -> 基础类



读excel报表


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


读excel报表[已结贴,结贴人:zbxubing]
发表于:2007-09-15 10:26:47 楼主
一般来说读excel无非就是把excel文件看作数据库,把sheet看作表,把第一行看作字段。

但是现在我碰到一个复杂的excel报表,表上面是一些统计信息,下面才是表格,而且表头的数量和表头名不确定。就是说真正表格的开始是从第5行开始的,而且字段数和字段名未知

我现在的做法是用2层循环一个一个cell来读,问题是速度相当慢,不知道怎样才能快些。

请问谁有更快的办法。多谢!
发表于:2007-09-17 09:07:221楼 得分:0
真的没有更好的办法了吗?
发表于:2007-09-17 09:26:432楼 得分:25
在   excel   中,将整个数据区域选中,菜单“名称\插入\定义...”,添加一个任意名称比如“t”,那么“t”就可以作为一般的表名一样用   select   语句进行查询。
发表于:2007-09-18 09:24:413楼 得分:0
如果不手工打开excel处理,直接通过程序读,还有更好的办法吗?谢谢!
发表于:2007-09-18 09:52:494楼 得分:25
工程里面引用ado,然后用下面的代码

dim   cn   as   adodb.connection
dim   rst   as   adodb.recordset
set   cn   =   new   adodb.connection
with   cn
        .provider   =   "microsoft.jet.oledb.4.0 "
        .connectionstring   =   "data   source=c:\book1.xls; "   &   _
"extended   properties=excel   8.0; "
        .open
end   with

set   rst   =   cn.EXECute( "select   *   from   [sheet1$] ")
dim   i   as   integer
rst.movefirst
do   while   not   rst.eof
for   i   =   0   to   rst.fields.count   -   1
        debug.print   rst(i);
next
debug.print
rst.movenext
loop
发表于:2007-09-18 09:53:135楼 得分:25
详细的可以看msdn:
http://support.microsoft.com/kb/257819/zh-cn
发表于:2007-09-18 12:15:056楼 得分:25
看楼主意思,是想进行算法优化?

那么你得把你的excel表格与你的代码弄上来看看才好/....

仅仅是这样描述一下,不能完全了解
发表于:2007-09-18 12:15:587楼 得分:0
果然是两个帖子.....还以为csdn出错了


快速检索

最新资讯
热门点击