本帖最后由 77077 于 2014-3-8 16:25 编辑
请问我这两串代码,怎么不能运行啊,哪里出错了?
测试:
(defun c:tt ()
(setq lst1 (xls2lst))
(Princ lst1)
(lst2xls lst1)
)
错误: 参数类型错误: consp "桩号" - (defun lst2xls (lst / lsta lstb b i n)
- (vl-load-com)
- (initexcel);初始化
- (setq lsta '()
- lsta lst
- i 0
- )
- (repeat (length lsta);repeat1
- (setq lstb (mapcar '(lambda (x) (nth i x)) lsta));从lsta中取出第一子表
- (progn
- (setq n 0);repeat2
- (repeat (length lstb)
- (setq b (mapcar '(lambda (x) (nth n x)) lstb));从第一子表取出第一元素
- (datacell (1+ i) (1+ n) b)
- (setq n (1+ n))
- );repeat2
- )
- (setq i (1+ i))
- );repeat1
- )
 - (defun xls2lst ()
- (vl-load-com)
- (if (null csvpath)
- (setq csvpath "")
- )
- (setq file (getfiled "打开数据表" csvpath "xls" 16))
- (if file
- (setq csvpath (strcat (vl-filename-directory file) "\"))
- )
- (setq appsession (vlax-get-or-create-object "Excel.Application"))
- (vlxls-app-Init);初始化EXCEL
- (setq *xlapp* (vlxls-app-open file nil));打开excel
- (if *xlapp*
- (setq Range (vlxls-sheet-get-usedrange *xlapp* nil));获取指定页面的使用区域
- )
- (if Range
- (setq value (vlax-get-property Range "Value2")
- data (vlxls-variant->list value);转换数据类型到cad数据
- )
- )
- (vlax-release-object range)
- (vlax-release-object *xlapp*)
- (cond
- ((not (vlax-object-released-p appsession))
- (vlax-invoke-method appsession 'quit)
- (vlax-release-object appsession)
- )
- )
- data
- )
|