| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3352 人关注过本帖, 1 人收藏
标题:请问append from 如何读入excel 2007版本的xls文件?
只看楼主 加入收藏
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
结帖率:80%
收藏(1)
已结贴  问题点数:20 回复次数:8 
请问append from 如何读入excel 2007版本的xls文件?
请问append from 如何读入excel 2007版本的xls文件?
搜索更多相关主题的帖子: 读入 excel 版本 xls 文件 
2018-01-31 11:26
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:991
专家分:4966
注 册:2013-2-16
收藏
得分:10 
用append 不能读入高版本的Excel,只能是2003版本以下的,2007版本以上的,需要用OLE对象打开EXCEL再读取。可以搜索一下以前发过的帖子,前人已经有很多成功的代码,这个问题经常被讨论。
2018-01-31 13:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
转换成txt再append from也不慢。
2018-01-31 14:40
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
收藏
得分:0 
谢谢2楼3楼两位版主!我再学习学习。
2018-02-02 20:57
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
收藏
得分:0 
通过论坛学习,自己测试写了以下代码,基本实现功能。请大神们指教。
程序代码:
IF USED(导"入表")            &&打开清空导入表
  SELECT 导入表
     USE 导入表
     ZAP 
ELSE
     USE 导入表 IN 0 
     SELECT 导入表 
     ZAP
ENDIF  
oexcel=createobject([excel.application])                                           &&创建一个对象
WITH oexcel
    FOR  Lni_wj=1 TO ADIR(axls,"*.xls")                                            &&通过ADRr函将当前文件夹下所有xls文件名导入axls数组  
        bookexcel=oexcel.workbooks.open(SYS(5)+SYS(2003)+"\"+ax1s[Ini_wj,1])       &&逐个打开将当前文件夹下所有xls文件
        o_sheetname=oexcel.application.Activesheet.name                             &&获取当前工资表名
        o_usedrang=bookexcel.worksheets(o_sheetname).usedrange                     &&返回当前工作表中可使用的区域
        o_rows=o_usedrang.Rows.Count                                               &&返回行汇
        o_cols=o_usedrang.columns.Count                                            &&返回列汇总数
        LOCAL axy[o_rows*o_cols]   
      FOR lni_h=1 T0 o_rows-1
          axy[(lin_h-1)*6+1]=oexcel.cells(lni_h+1,1).Text                          &&lb    第lni_h行第一列 共六列
          axy[(lin_h-1)*6+2]=oexcel.cells(lni_h+1,2).Text                          &&bh    第lni_h行第二列
          axy[(lin_h-1)*6+3]=oexcel.cells(lni_h+1,3).Text                          &&部门  第lni_h行第三列
          axy[(lin_h-1)*6+4]=oexcel.cells(lni_h+1,4).Text                          &&姓名  第lni_h行第四列
          axy[(lin_h-1)*6+5]=oexcel.cells(lni_h+1,5).Text                          &&SFZ   第lni_h行第五列
          axy[(lin_h-1)*6+6]=oexcel.cells(lni_h+1,6).VALUE                         &&金额  第lni_h行第六列   
          APPEND BLANK
          REPLACE Lb WITH  axy[(lin_h-1)*6+1],bh WITH axy[(lin_h-1)*6+2],部门 WITH axy[(lin_h-1)*6+3],;
                  姓名 WITH axy[(lin_h-1)*6+4],sfz WITH axy[(lin_h-1)*6+5],金额 WITH axy[(lin_h-1)*6+6]
       ENDFOR
     ENDFOR
     .QUIT
ENDWITH
RELEASE oexcel
BROWSE 
USE IN 导入表


[此贴子已经被作者于2018-2-5 10:15编辑过]

2018-02-03 17:26
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 5楼 ntxscwk
我试了一下,出现
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2018-2-4 06:31编辑过]

2018-02-04 06:18
zyxxzhyg
Rank: 3Rank: 3
来 自:江西
等 级:论坛游侠
威 望:5
帖 子:58
专家分:134
注 册:2014-6-26
收藏
得分:0 
回复 6楼 tjdeming
“execl”与“oexecl”
2018-02-05 08:58
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
收藏
得分:0 
回复 6楼 tjdeming
应该是
o_sheetname=oexcel.application.Activesheet.name
少了个O
2018-02-05 10:12
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
收藏
得分:0 
回复 7楼 zyxxzhyg
是的,谢谢!
2018-02-05 10:13
快速回复:请问append from 如何读入excel 2007版本的xls文件?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034939 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved