教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

AutoLISP例程:读取excel文件

来源:网络收集 时间:2026-09-06
导读: AutoLISP例程:读取excel文件 好多讲述用vlisp读取excel文件的文章中都提到 vlax-import-type-library这个函数,其实没有必要。该函数仅仅是给每个excel对象模型中的属性、方法、对象等引入一个别名,占内存很大,没有意义。用vlisp操作excel文件只要了解exc

AutoLISP例程:读取excel文件

好多讲述用vlisp读取excel文件的文章中都提到

vlax-import-type-library这个函数,其实没有必要。该函数仅仅是给每个excel对象模型中的属性、方法、对象等引入一个别名,占内存很大,没有意义。用vlisp操作excel文件只要了解excel对象模型和

vlax-get-or-create-object 、vlax-get-property、vlax-invoke-method、vlax-put-property、vlax-safearray-type几个函数就可以了。

下面的例子定义函数(GetCellValueAsList excelFile sheetName RangeStr) 读取如图所示的excel表格内容,返回list类型。

(defun c:test()

(setq retV (GetCellValueAsList

\ (princ) )

(defun GetCellValueAsList( excelFile sheetName RangeStr / xl wbs wb shs sh rg cs vvv nms nm ttt) (vl-load-com)

(setq xl (vlax-get-or-create-object \创建excel程序对象

(setq wbs (vlax-get-property xl \获取excel程序对象的工作簿集合对象

(setq wb (vlax-invoke-method wbs \用工作簿集合对象打开指定的excel文件

(setq shs (vlax-get-property wb \获取刚才打开工作簿的工作表集合

(setq sh (vlax-get-property shs \获取指定的工作表

(setq rg (vlax-get-property sh \用指定的字符串创建工作表范围对象

(setq vvv (vlax-get-property rg 'Value));获取范围对象的值 (setq ttt (vlax-safearray->list (vlax-variant-value vvv))) ;转换为list

(vlax-invoke-method wb \关闭工作簿 (vlax-invoke-method xl \推出excel对象 (vlax-release-object xl);释放excel对象 (setq ret ttt) )

下图用Visual LISP的变量监视器查看到底retV的值:

从上图看出返回值中,每行数据一个list,行list组成一个结果list。List中的原子类型是variant,用函数(vlax-variant-value var)读取每个原子的值到lisp变量中就可以使用了。

AutoLISP例程:读取excel文件.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/445016.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)