;;我用ado读取的,可能和你的方式不一样,这里下载的好像有标准的excel操作库,其实如果只是查询数据的话,个人喜欢ado,,,文件名位置修改一下应该就可以
(setq tmpadoobj (vlax-get-or-create-object "ADODB.Connection")) (vlax-invoke tmpadoobj 'open (strcat "Provider=MSDASQL;Driver={Microsoft Excel Driver (*.xls)};DBQ=d:\\1.xls;ExtendedProperties=Excel11.0;HDR=Yes;") "" "" -1) (setq sql(strcat "SELECT * FROM " "[sheet1$]")) (setq recobj(vlax-invoke tmpadoobj 'Execute sql nil 1))
(setq fieldlists nil) (while (= :vlax-false (vlax-get-property recobj "EOF"));循环获得查询到的数据---------------- (setq fieldlist nil) (setq fieldsObject (vlax-get-property recobj "Fields") fieldcount (vlax-get-property fieldsObject "Count") n -1) (while (> fieldcount (setq n (1+ n))) (setq fname (vlax-Get-Property (vlax-Get-Property fieldsObject "Item" n) "name")) (setq fvalue(vlax-variant-value(vlax-Get-Property (vlax-Get-Property fieldsObject "Item" n) 'value))) (if (null fvalue)(setq fvalue "")) (setq fieldlist(cons (cons (read fname) fvalue) fieldlist)) );上面获得单一的查询列---------------------------------------------------------------------- (setq fieldlists(cons (reverse fieldlist) fieldlists));整合所有得到的查询数据为表----------- (vlax-invoke recobj 'movenext) ) (reverse fieldlists)
;;fieldlists就是我上面截图的返回值
|