guitarguy1685 发表于 2022-7-6 11:24:47

XCELL和Lisp

我可以使用LISP来读取XCELL数据吗?或者这需要通过vba或vb来完成吗。网

Lee Mac 发表于 2022-7-6 11:46:45

是的,您可以使用LISP,一个简单的例子是Terry Miller的GetExcel:
 
http://web2.airmail.net/terrycad/LISP/GetExcel.lsp

JohnM 发表于 2022-7-6 11:48:55

可以使用lisp。搜索这四个,你会发现很多例子。每个人的需求都不同,但一般的联系是一样的

fixo 发表于 2022-7-6 12:07:56

试试这个
(vl load com)(defun read\u excel\u range(FilePath ShtNum Address/ExcelApp ExcData Sht UsdRange Wbk)(setq ExcelApp(vlax get or create object“excel.Application”)(vla put visible ExcelApp:vlax true)(vlax put property ExcelApp“DisplayAlerts:vlax true)(setq Wbk(vl catch all apply”vla open(list(vlax get property ExcelApp“WorkBooks”)FilePath))(setq Sht(vl catch all apply“vlax get property(list(vlax get property Wbk“Sheets”)“Item”ShtNum))(vlax invoke method Sht“Activate”)(setq UsdRange(vlax get property(vlax get property Sht”Cells)“Range”Address)ExcData(vlax safearray->list(vlax variant value(vlax get property UsdRange“Value2))(setq ExcData(函数(lambda(x)(mapcar‘vlax variant value x)))ExcData()(vl catch all apply‘vlax invoke method(list Wbk“Close”)(vl catch all apply‘vlax invoke method(list ExcelApp“Quit”))(mapcar(函数(lambda(x)(vl catch all apply)(函数(lambda()(progn(if(not)(vlax-object-released-p x))(progn(vlax release object x)(setq x nil))))))(列出UsdRange Sht Wbk ExcelApp))(gc)(gc)(gc)ExcData)(defun C:demo()(if(setq xlpath(getfield“*Select Excel File*”“”“xls”4))(progn(setq Excel\u data(read\u Excel\u range xlpath“Sheet1”“A1:E15”);

noyjoreb 发表于 2022-7-6 12:16:14

如何使用此代码?我是lisp的新手。。。

alanjt 发表于 2022-7-6 12:33:31

http://www.cadtutor.net/forum/showthread.php?t=1390
页: [1]
查看完整版本: XCELL和Lisp