| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1504 人关注过本帖
标题:VFP操作EXCEL时程序报错:“OLE IDispatch 异常代码О出自Provider:内存资源 ...
只看楼主 加入收藏
zdylxh
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-2-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
VFP操作EXCEL时程序报错:“OLE IDispatch 异常代码О出自Provider:内存资源不足,无法完成此操作。..”
申明:以下代码为引用论坛中高人代码改编,非本人版权所有:
运行环境:WIN10+EXCEL2010+VFP9
附表:20210216.XLSX【见下载频道】;
说明:当附表记录条数删减至小于10万条以下读取正常,不删减数据运行时程序报错:“OLE IDispatch 异常代码О出自Provider:内存资源不足,无法完成此操作。..”

改编后运行的代码如下:

SET DEFAULT TO ADDBS(JUSTPATH(SYS(16)))                 
CLEAR
SET SAFETY OFF
cExcel = "D:\20210216.XLSX"
cHDR = "YES"   
cSheet = "[Sheet1$C:O]"
cSQL = "SELECT * FROM " + cSheet
cConn = "Provider=Microsoft.ACE.OLEDB.12.0;";
        + "Extended Properties='Excel 12.0;HDR="+cHDR+";IMEX=1';";
        + "Data Source=" + cExcel
**    * EXCEL2003及之前版本
**    cConn = "Provider=Microsoft.Jet.OLEDB.4.0;";
**           + "Extended Properties='Excel 8.0;HDR="+cHDR+";IMEX=1';";
**           + "Data Source=" + cExcel
oConn = CREATEOBJECT("ADODB.Connection")
oConn.Open(cConn)
oRs = CREATEOBJECT("ADODB.Recordset")
oRs.Open(cSQL, oConn, 1, 3, 1)
oRs.MoveFirst
CREATE CURSOR tt (外购件物 C(40),物料描述 C(50),配料与否 C(8),生产批次 C(20),;
    工厂 C(10),存储位置 C(30),BOM版本号 C(30),上层物代 C(30),上层物描 C(30),生产订单 C(30),生产订物 C(30),生产订描 C(30),需求数量 N(10,3))
cStr = oRs.GetString()
STRTOFILE(cStr, "tmp.txt")
SELECT tt
APPEND FROM tmp.txt DELIMITED WITH TAB
SELECT * FROM tt
oRs.Close
oConn.Close
CLEAR ALL
RETURN


搜索更多相关主题的帖子: 资源 Provider 代码 EXCEL 操作 
2021-02-17 14:20
zdylxh
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-2-16
收藏
得分:0 
EXCEL表附件:在下载频道搜索资源“20210216”
2021-02-17 14:34
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:20 
Office2007测试未见异常
是不是Office的问题,装个正版的试试
图片附件: 游客没有浏览图片的权限,请 登录注册
2021-02-17 21:30
zdylxh
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-2-16
收藏
得分:0 
是不是跟装了两个版本OFFICE有关,汗,我装了2010版和2003版;
2021-02-18 08:12
zdylxh
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-2-16
收藏
得分:0 
卸载2003版后通过,谢谢版主。@吹水大佬
2021-02-18 08:27
快速回复:VFP操作EXCEL时程序报错:“OLE IDispatch 异常代码О出自Provider:内 ...
数据加载中...
 
   



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

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