CAD表格生成Excel表格问题
本帖最后由 笑看丿丶生 于 2015-9-1 14:02 编辑CAD表格生成 Excel表格的代码,只能生成一个表头,表格的内容没有,求大神们帮忙完善一下,谢谢,最好可以同CAD表格的形式,自动合并单元格。
选择生成后CAD提示 nil可以生成csv文件,但是只有CAD表格的表头,没有表格内的其它内容。
源码(不知道是哪位大神写的,在此谢过)如下:
(defun c:c2e ( /hangdau)
(defun sosanh (e1 e2 / p1 p2)
(setq p1 (car e1)
p2 (car e2)
)
(if (equal (cadr p1) (cadr p2) fuzz)
(< (car p1) (car p2))
(< (cadr p2) (cadr p1))
)
)
(setq
ss (ssget '((0 . "ACAD_TABLE,*TEXT")))
lst (ss2ent ss)
lst (mapcar '(lambda (e) (cons (cdr (assoc 10 (entget e))) (cdr (assoc 1 (entget e))))) lst)
lst (mapcar '(lambda (e) (if (= (cdr e) "*") (cons (car e) "") e)) lst)
caotext (cdr (assoc 40 (entget (ssname ss 0))))
fuzz (* caotext 1.0)
lst (vl-sort lst 'sosanh)
index 1
oldy nil
fn (getfiled "保存文件名" "" "csv" 1)
fid (open fn "w")
)
(foreach e lst
(if (equal oldy (cadr (car e)) fuzz)
(progn
(princ "," fid)
(setq index (1+ index))
)
(progn
(if hangdau
(progn
(setq index 1)
(princ "\n" fid)
)
(setq hangdau t)
)
)
)
(princ (cdr e) fid)
(setq oldy (cadr (car e)))
)
(close fid)
)
(defun ss2ent (ss / sodt index lstent)
(setq
sodt (if ss
(sslength ss)
0
)
index 0
)
(repeat sodt
(setq ent (ssname ss index)
index (1+ index)
lstent (cons ent lstent)
)
)
(reverse lstent)
)
坐沙发上等高手来解救 随便用几个文字测试了一下,好象只能输出文字内容(输出的文字内容比我所选的少了一个),没看到表头,最好你自己做一个文件,把它用EXCEL打开了发个图上来? llsheng_73 发表于 2015-9-1 15:57 static/image/common/back.gif
随便用几个文字测试了一下,好象只能输出文字内容(输出的文字内容比我所选的少了一个),没看到表头,最好 ...
CAD的表格是这样的
生成表格后是这样的,只有一个表头
笑看丿丶生 发表于 2015-9-1 17:23 static/image/common/back.gif
CAD的表格是这样的
生成表格后是这样的,只有一个表头
印象中论坛里边有CAD表格到XLS的,多找下。。。。 llsheng_73 发表于 2015-9-1 17:30 static/image/common/back.gif
印象中论坛里边有CAD表格到XLS的,多找下。。。。
一直没找到 本帖最后由 香田里浪人 于 2015-9-3 21:13 编辑
truetable11.0I(AutoCAD-Rel)破解版可以实现 香田里浪人 发表于 2015-9-3 21:11 static/image/common/back.gif
truetable11.0I(AutoCAD-Rel)破解版可以实现
我是想自己弄一个工具箱 所以还得要把源码弄出来不过还是要谢谢你了
本帖最后由 vectra 于 2015-9-7 12:48 编辑
这个程序只支持文字对象 不支持表格实体 你可以把表格炸开后再运行试试
对于表格对象,你可以右键,“输出”直接生成csv文件。 把表格炸开再选就可以了
页:
[1]