请教如何用LISP程序读取电子表格excel中的数据?
请教如何用LISP程序读取电子表格excel中的数据? 参考<A href="http://www.ikozmos.com/" target="_blank" >http://www.ikozmos.com</A> 中的VLXLS 怎么写入那?比如说在ACAD中,有一些文字,按照我点选的顺序以次存入EXCEL中,且在E中是按列排序,就是输入一个,回车自动,输入一个,自动回车……选定第一个单元格,然后以次写入它下面的一列单元格。 (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读入数据的子程序,希望能帮到你 我好像运行不了呀。埃 看看lisp还能看看,加了VLA-等的东西感觉就复杂了,看也看不懂
页:
[1]