| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5309 人关注过本帖
标题:如何从多个复杂EXCEL文件中批量取得数据存入dbf表文件?
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 49楼 antony521
判断物质名称是否为空,决定是否退出循环

坚守VFP最后的阵地
2015-07-15 17:27
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
收藏
得分:0 
回复 楼主 antony521
你的EXCEL表格内容有点复杂,你应该把需要导入到DBF文件的数据列出来,从你给出的DBF示例好象不是所有的单元格数据都要导入到DBF文件中。你最后在给出需要导入的DBF结构,其实从EXCEL文件导入数据到DBF文件不是很难,关键的命令就那几个。
2015-07-17 16:13
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
程序代码:
CREATE CURSOR tt (项目名称 C(50),项目编号 C(10),物资名称 C(10),物资型号 C(30))
oExcel=CreateObject('Excel.Application')
LOCAL Ar[1,4]
=ADIR(aExcel,SYS(5)+SYS(2003)+"\*.XLS")
FOR I = 1 TO ALEN(aExcel,1)
    WITH oExcel
        .WorkBooks.Open(SYS(5)+SYS(2003)+"\"+aExcel[I,1])
        WITH .Sheets(1)
            Ar[1,1] = .Range("C2").Text
            Ar[1,2] = .Range("C3").Text
            nRow=7
            DO WHILE .T.
                IF BETWEEN(ASC(.Cells(nRow,1).Text),49,57)
                    Ar[1,3] = .Cells(nRow,4).Text
                    Ar[1,4] = .Cells(nRow,5).Text
                ELSE
                    EXIT
                ENDIF
                INSERT INTO tt FROM ARRAY Ar
                STORE "" TO Ar[1,3], Ar[1,4]  
                nRow = nRow + 1
            ENDDO
        ENDWITH
    ENDWITH
ENDFOR
oExcel.ActiveWorkBook.Close(.F.)
oExcel.Quit
Release oExcel
SELECT tt
BROWSE

坚守VFP最后的阵地
2018-09-13 22:52
antony521
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:170
专家分:175
注 册:2009-8-20
收藏
得分:0 
回复 53楼 sdta
三年了老版主还在回复.
可以得到数据.不过结果中有物资名称为空的无效数据(没有过滤空行数据).
靠序号判断空数据项目不可靠

[此贴子已经被作者于2018-12-8 11:14编辑过]

2018-12-08 11:07
快速回复:如何从多个复杂EXCEL文件中批量取得数据存入dbf表文件?
数据加载中...
 
   



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

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