标题:请问append from 如何读入excel 2007版本的xls文件?
取消只看楼主
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
结帖率:80%
已结贴  问题点数:20 回复次数:4 
请问append from 如何读入excel 2007版本的xls文件?
请问append from 如何读入excel 2007版本的xls文件?
搜索更多相关主题的帖子: 读入 excel 版本 xls 文件 
2018-01-31 11:26
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
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-484560-1-1.html




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

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