| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1695 人关注过本帖
标题:导入excel文件出错
只看楼主 加入收藏
sarge_xp
Rank: 2
等 级:论坛游民
帖 子:120
专家分:13
注 册:2006-4-30
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:6 
导入excel文件出错
SET DEFAULT TO C:\DATA\TEST
SET TALK OFF
SET SAFETY OFF
CLOSE DATABASES
CREATE CURSOR TEM (时间 C(5),姓名 C(10),性别 l,编号 C(6))
ADIR(ABC)
FOR I=1 TO ALEN(ABC)/5
? ABC(I,1)
    OEXCEL = CREATEOBJECT("EXCEL.APPLICATION")
    WITH OEXCEL
***********
        .WORKBOOKS.OPEN(ABC(I,1))        &&出错的语句
***********


*        .WORKBOOKS.OPEN(SYS(5) + SYS(2003) +ABC(I,1))
        .DISPLAYALERTS = .F.
        .ACTIVEWORKBOOK.SAVEAS(SYS(5) + SYS(2003) + "\0326.TXT", -4158)  && 保存为以制表符分隔的文本文件
        .ACTIVEWORKBOOK.CLOSE
        .DISPLAYALERTS = .T.
        .QUIT
    ENDWITH
    RELEASE OEXCEL
    SELECT TEM
    APPEND FROM 0326.TXT DELIMITED WITH TAB
    ERASE 0326.TXT
ENDFOR
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: SET excel 出错 ABC 导入 
2021-07-20 10:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:7 
.WORKBOOKS.OPEN(完整路径 + ABC(I,1))

坚守VFP最后的阵地
2021-07-20 10:39
sarge_xp
Rank: 2
等 级:论坛游民
帖 子:120
专家分:13
注 册:2006-4-30
收藏
得分:0 
回复 2楼 sdta
.WORKBOOKS.OPEN(SYS(5) + SYS(2003) +ABC(I,1))

换成这样也出错
2021-07-20 22:03
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10540
专家分:42927
注 册:2014-5-20
收藏
得分:7 
这样看看就清楚
messagebox(SYS(5) + SYS(2003) +ABC(I,1))
2021-07-20 22:12
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9802
专家分:26906
注 册:2012-2-5
收藏
得分:0 
以下是引用sarge_xp在2021-7-20 22:03:27的发言:

 .WORKBOOKS.OPEN(SYS(5) + SYS(2003) +ABC(I,1))

换成这样也出错

完整路径 = SYS(5) + SYS(2003) + "\"

坚守VFP最后的阵地
2021-07-20 22:24
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:763
专家分:2503
注 册:2011-5-8
收藏
得分:7 
SET DEFAULT TO C:\DATA\TEST
gtpth='C:\DATA\TEST\'
SET TALK OFF
SET SAFETY OFF
**CLOSE DATABASES  似乎要关闭的是表不是数据库吧。
CLOSE TABLES  all

CREATE CURSOR TEM (时间 C(5),姓名 C(10),性别 l,编号 C(6))
ADIR(ABC)
FOR I=1 TO ALEN(ABC)/5
**建议加上这一段,不然文件夹中万一有非excel文件就要报错了。
    IF  UPPER(JUSTEXT(abc(i,1)))!='XLS'  
        LOOP
    endif
? ABC(I,1)  &&建议改成 wait window at  25,25 ABC(I,1) nowait

    OEXCEL = CREATEOBJECT("EXCEL.APPLICATION")

    WITH OEXCEL
        .WORKBOOKS.OPEN(gtpth+ABC(I,1))        &&出错的语句
        .DISPLAYALERTS = .F.
        .ACTIVEWORKBOOK.SAVEAS(gtpth+"0326.TXT", -4158)  && 保存为以制表符分隔的文本文件
        .ACTIVEWORKBOOK.CLOSE
        .DISPLAYALERTS = .T.
        .QUIT
    ENDWITH
    RELEASE OEXCEL
    SELECT TEM
    APPEND FROM 0326.TXT DELIMITED WITH TAB
    ERASE 0326.TXT
ENDFOR

[此贴子已经被作者于2021-7-21 21:33编辑过]


dBase有人接盘了。
2021-07-21 21:31
金戈铁马2
Rank: 2
等 级:论坛游民
帖 子:83
专家分:85
注 册:2017-1-8
收藏
得分:0 
路过
2023-12-25 21:41
快速回复:导入excel文件出错
数据加载中...
 
   



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

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