明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2919|回复: 3

[函数] xls2lst 和 lst2xls,excel数据导入到表,表写入到excel

[复制链接]
发表于 2014-3-8 15:53:06 | 显示全部楼层 |阅读模式
本帖最后由 77077 于 2014-3-8 16:25 编辑

请问我这两串代码,怎么不能运行啊,哪里出错了?
测试:
(defun c:tt ()
(setq lst1 (xls2lst))
(Princ lst1)
(lst2xls lst1)
)
错误: 参数类型错误: consp "桩号"
  1. (defun lst2xls (lst / lsta lstb b i n)
  2.   (vl-load-com)
  3.   (initexcel);初始化
  4.   (setq lsta '()
  5.         lsta lst
  6.         i 0
  7.        )
  8.    (repeat (length lsta);repeat1
  9.     (setq lstb (mapcar '(lambda (x) (nth i x)) lsta));从lsta中取出第一子表
  10.     (progn
  11.         (setq n 0);repeat2
  12.         (repeat (length lstb)
  13.              (setq b (mapcar '(lambda (x) (nth n x)) lstb));从第一子表取出第一元素
  14.             (datacell (1+ i) (1+ n)  b)
  15.              (setq n (1+ n))
  16.          );repeat2
  17.     )
  18.    (setq i (1+ i))
  19.   );repeat1
  20. )
  1. (defun xls2lst ()
  2.   (vl-load-com)
  3.   (if (null csvpath)
  4.      (setq csvpath "")
  5.   )
  6.   (setq  file (getfiled "打开数据表" csvpath "xls" 16))
  7. (if file
  8.     (setq csvpath (strcat (vl-filename-directory file) "\"))
  9.   )
  10.   (setq appsession (vlax-get-or-create-object "Excel.Application"))
  11.   (vlxls-app-Init);初始化EXCEL
  12.   (setq *xlapp* (vlxls-app-open file nil));打开excel
  13.   (if *xlapp*
  14.     (setq Range (vlxls-sheet-get-usedrange *xlapp* nil));获取指定页面的使用区域
  15.   )
  16.   (if Range
  17.     (setq value  (vlax-get-property Range "Value2")
  18.           data  (vlxls-variant->list value);转换数据类型到cad数据
  19.           )
  20.   )
  21.   (vlax-release-object range)
  22.   (vlax-release-object *xlapp*)
  23.   (cond
  24.     ((not (vlax-object-released-p appsession))
  25.      (vlax-invoke-method appsession 'quit)
  26.      (vlax-release-object appsession)
  27.     )
  28.   )
  29.   data
  30. )
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-3-8 16:01:54 | 显示全部楼层
lst2xls lst1) --> (st2xls lst1)
 楼主| 发表于 2014-3-8 16:24:34 | 显示全部楼层
emk 发表于 2014-3-8 16:01
lst2xls lst1) --> (st2xls lst1)

这不是关键,这里是笔误,发上来的时候弄错了,测试的时候有的!
发表于 2014-4-12 12:25:40 | 显示全部楼层
好象差这个(initexcel)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-25 02:29 , Processed in 0.182020 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表