xqyhome 发表于 2005-1-29 16:32:00

请教如何用LISP程序读取电子表格excel中的数据?

请教如何用LISP程序读取电子表格excel中的数据?

mmmmmm 发表于 2005-1-30 12:21:00

参考<A href="http://www.ikozmos.com/" target="_blank" >http://www.ikozmos.com</A>        中的VLXLS

bestlike 发表于 2005-2-21 10:52:00

怎么写入那?比如说在ACAD中,有一些文字,按照我点选的顺序以次存入EXCEL中,且在E中是按列排序,就是输入一个,回车自动,输入一个,自动回车……选定第一个单元格,然后以次写入它下面的一列单元格。

sieben 发表于 2005-2-21 14:58:00

(defun exl-pro (/ exl-app exl-workb exl-file exl-sheet exl-rep1 exl-cont exl-t2 exl-rep2 exl-list2 exl-val)<BR>        (if exl-road<BR>       (setq exl-road (getfiled "Select a Excel file " exl-road "xls" 0))<BR>       (setq exl-road (getfiled "Select a Excel file " "" "xls" 0))<BR>        )<BR>        (if (not exl-road)<BR>       (start-end nil)<BR>        )<BR>        (princ "\nReading file !!! Please Wait ..........")<BR>        (setq exl-app (vlax-get-or-create-object "EXCEL.application"))<BR>        (if (not exl-app)<BR>       (progn<BR>               (alert "\nThis computer hasn't setup EXCEL application !!!")<BR>               (start-end nil)<BR>       )<BR>        )<BR>        (if (equal nil msEC-XLBAR)<BR>       (vlax-import-type-library<BR>               :tlb-filename<BR>               (strcat (vlax-get-property exl-app "Path") "<A href="file://xl5cht32.olb/" target="_blank" >\\xl5cht32.olb</A>")<BR>               :methods-prefix<BR>               "MSEM-"<BR>               :properties-prefix<BR>               "MSEP-"<BR>               :constants-prefix<BR>               "MSEC-"<BR>       )<BR>        )<BR>        (vlax-put-property exl-app "DisplayFullScreen" :vlax-true)<BR>        (vlax-put-property exl-app "DisplayFullScreen" :vlax-false)<BR>        (setq exl-workb (vlax-get-property exl-app "workbooks")<BR>                                               exl-file       (msem-open exl-workb exl-road)<BR>                                               exl-sheet (vlax-get-property exl-file "activesheet")<BR>        )<BR>        (setq exl-rep1        2<BR>                                               exl-list1 nil<BR>                                               exl-cont        t<BR>        )<BR>        (while        exl-cont<BR>       (setq        exl-t2               (itoa exl-rep1)<BR>        exl-rep2       0<BR>        exl-list2 nil<BR>       )<BR>       (repeat 6<BR>               (setq exl-t1        (chr (+ 65 exl-rep2))<BR>       exl-t3        (strcat exl-t1 exl-t2 ":" exl-t1 exl-t2)<BR>               )<BR>               (setq exl-val (vlax-variant-value (vla-get-value (vlax-get-property exl-sheet "range" exl-t3))))<BR>               (if exl-val<BR>                       (if        (= exl-rep2 0)<BR>                               (setq exl-list2 (cons (fix exl-val) exl-list2))<BR>                               (setq exl-list2 (cons exl-val exl-list2))<BR>                       )<BR>                       (setq exl-cont nil)<BR>               )<BR>               (setq exl-rep2 (1+ exl-rep2))<BR>       )<BR>       (setq exl-list1 (cons (reverse exl-list2) exl-list1))<BR>       (setq exl-rep1 (1+ exl-rep1))<BR>        )<BR>        (setq exl-list1 (reverse (cdr exl-list1)))<BR>        (msem-close exl-file)<BR>        (vla-quit exl-app)<BR>        (princ)<BR>)


这是一个从Excel读入数据的子程序,希望能帮到你

spshchen 发表于 2005-2-21 17:33:00

我好像运行不了呀。埃 看看lisp还能看看,加了VLA-等的东西感觉就复杂了,看也看不懂
页: [1]
查看完整版本: 请教如何用LISP程序读取电子表格excel中的数据?