Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
minhphuong_humg

Giúp chuyển text từ cad sang Excel?

Các bài được khuyến nghị

Mong các bạn giúp đỡ chuyển giúp mình các text từ bản cad (đính kèm) sang file excel. Mình đã sử dụng các lisp trên diễn đàn xt.lsp....mà vẫn không được. Nó toàn bị lỗi font chữ khi xuất sang Excel. Rất mong nhận được sự giúp đỡ.

File đính kèm:

http://www.mediafire.com/?ytzigitjlzl

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nguyen Hoanh    4.524
Không có bạn nào giúp mình uh? :D

Bạn yêu cầu trợ giúp sơ sài thế này thì chẳng ai giúp bạn được.

 

chẳng biết file xt.lsp nằm ở đâu, file excel bị lỗi của bạn ra làm sao.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bạn yêu cầu trợ giúp sơ sài thế này thì chẳng ai giúp bạn được.

 

chẳng biết file xt.lsp nằm ở đâu, file excel bị lỗi của bạn ra làm sao.

Cũng có thể do mình chưa trình bày kỹ nên có lẽ các bạn không hiểu. Nghe bác Hoành nói vậy nên em sẽ trình bày lại bài toán của em bị rắc rối mong bác Hoành và các bạn giúp đỡ.

Em có file chứa tên các hộ dân (http://www.mediafire.com/?ytzigitjlzl).

Bây giờ em muốn xuất các hộ dân (text) này qua excel hoặc file text (.txt) để làm báo cáo. Em đã dùng lisp textout.lsp và xt.lsp (http://www.mediafire.com/?donyv22z4imaymn) để xuất qua file excel và file txt. Nhưng kết quả thu được là toàn bị lỗi font chữ (ví dụ: Nguyễn Hải Toàn--->Ng%uye%n H%a%i To%an).

Rất mong nhận được sự giúp đỡ của bác Hoành và các bạn trong diễn đàn. Xin cảm ơn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nguyen Hoanh    4.524
Cũng có thể do mình chưa trình bày kỹ nên có lẽ các bạn không hiểu. Nghe bác Hoành nói vậy nên em sẽ trình bày lại bài toán của em bị rắc rối mong bác Hoành và các bạn giúp đỡ.

Em có file chứa tên các hộ dân (http://www.mediafire.com/?ytzigitjlzl).

Bây giờ em muốn xuất các hộ dân (text) này qua excel hoặc file text (.txt) để làm báo cáo. Em đã dùng lisp textout.lsp và xt.lsp (http://www.mediafire.com/?donyv22z4imaymn) để xuất qua file excel và file txt. Nhưng kết quả thu được là toàn bị lỗi font chữ (ví dụ: Nguyễn Hải Toàn--->Ng%uye%n H%a%i To%an).

Rất mong nhận được sự giúp đỡ của bác Hoành và các bạn trong diễn đàn. Xin cảm ơn.

Đây là một bài toán hay.

 

Text trong file AutoCAD là text được tạo nên từ các ký tự Ascii có cấu trúc %%xxx. Chính vì vậy hiển thị trong CAD vẫn ngon lành, tuy nhiên nội dung của text là lộn xộn.

 

Đây không phải lỗi của lisp xt.lsp mà là từ cấu trúc của file CAD.

 

bạn dùng lisp fixtext dưới đây để sửa lỗi text trong file ACAD của bạn trước khi sử dụng lisp xuất sang excel:

(defun c:fixtext ()
 (setq	ss  (ssget '((0 . "TEXT")))
lst (ss2ent ss)
 )
 (foreach e lst
   (setq tt (entget e)
  tt (subst (cons 1 (thaytext (cdr (assoc 1 tt))))
	    (assoc 1 tt)
	    tt
     )
   )
   (entmod tt)
 )
 (princ)
)

(vl-load-com)

(defun thaytext	(str)
 (setq i 255)
 (while (> i 0)
   (setq cf (strcat "%%" (itoa i))
  cr (chr i)
   )
   (while (vl-string-search cf str)
     (setq str (vl-string-subst cr cf str))
   )
   (setq i (1- i))
 )
 str
)


(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)
)

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Đây là một bài toán hay.

 

Text trong file AutoCAD là text được tạo nên từ các ký tự Ascii có cấu trúc %%xxx. Chính vì vậy hiển thị trong CAD vẫn ngon lành, tuy nhiên nội dung của text là lộn xộn.

 

Đây không phải lỗi của lisp xt.lsp mà là từ cấu trúc của file CAD.

 

bạn dùng lisp fixtext dưới đây để sửa lỗi text trong file ACAD của bạn trước khi sử dụng lisp xuất sang excel:

(defun c:fixtext ()
 (setq	ss  (ssget '((0 . "TEXT")))
lst (ss2ent ss)
 )
 (foreach e lst
   (setq tt (entget e)
  tt (subst (cons 1 (thaytext (cdr (assoc 1 tt))))
	    (assoc 1 tt)
	    tt
     )
   )
   (entmod tt)
 )
 (princ)
)

(vl-load-com)

(defun thaytext	(str)
 (setq i 255)
 (while (> i 0)
   (setq cf (strcat "%%" (itoa i))
  cr (chr i)
   )
   (while (vl-string-search cf str)
     (setq str (vl-string-subst cr cf str))
   )
   (setq i (1- i))
 )
 str
)
(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)
)

Em rất cảm ơn bác Hoành. Tuy nhiên đối với những tên hộ viết bằng bảng mã Unicode thì em dùng 2 lisp trên thì cũng không thể xuất ra đựơc. Lỗi xuất hiện lúc này không phải là các dấu %% nữa mà nó là các sổ chéo kiểu như \ (ví dụ: Hoàng Văn Thụ ----> H\oan\g Va\n T\hu). Em không biết phải làm thế nào trong trường hợp này nữa. Rất mong bác ra tay "kíu" giúp em! Xin cảm ơn!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nguyen Hoanh    4.524
Em rất cảm ơn bác Hoành. Tuy nhiên đối với những tên hộ viết bằng bảng mã Unicode thì em dùng 2 lisp trên thì cũng không thể xuất ra đựơc. Lỗi xuất hiện lúc này không phải là các dấu %% nữa mà nó là các sổ chéo kiểu như \ (ví dụ: Hoàng Văn Thụ ----> H\oan\g Va\n T\hu). Em không biết phải làm thế nào trong trường hợp này nữa. Rất mong bác ra tay "kíu" giúp em! Xin cảm ơn!

bạn có thể upload file lên diễn đàn không?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
bigmaple81    0

chào các bác, tranh thủ có topic này mình ké tí. Các lisp các bác up ở trên dùng được cho chữ viết bằng lệnh text nhưng nếu dùng lệnh MTEXT thì nó không tìm thấy đối tượng. Mình thử chuyển Mtext sang Text bằng lệnh "X" thì chữ lỗi font nên khi sang exel thì font càng lỗi. Có cách nào áp dụng cho chữ viết bằng MTEXT không các bác.

Cảm ơn các bác đã quan tâm trả lời.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
bạn có thể upload file lên diễn đàn không?

Đây là file tên hộ viết bằng mã Unicode của em:

http://www.mediafire.com/?m5x8y37q4ei5e64

Còn đây là file kết quả bị lỗi thế này:

http://www.mediafire.com/?xjn3285haxk6n65

Mong nhận được sự giúp đỡ của bác Hoành và các bạn trong diễn đàn. Xin cảm ơn!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
gia_bach    1.442
Mong các bạn giúp đỡ chuyển giúp mình các text từ bản cad (đính kèm) sang file excel. Mình đã sử dụng các lisp trên diễn đàn xt.lsp....mà vẫn không được. Nó toàn bị lỗi font chữ khi xuất sang Excel. Rất mong nhận được sự giúp đỡ.

File đính kèm:

http://www.mediafire.com/?ytzigitjlzl

Vấn đề do LISP hỗ trợ bảng mã UNICODE rất kém.

Bạn cho biết phiên bản CAD đang sử dụng, hy vọng tìm đuợc huớng giải quyết !

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vấn đề do LISP hỗ trợ bảng mã UNICODE rất kém.

Bạn cho biết phiên bản CAD đang sử dụng, hy vọng tìm đuợc huớng giải quyết !

Em dùng Autocad 2008. Rất mong nhận được sự giúp đỡ!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
gia_bach    1.442
Em dùng Autocad 2008. Rất mong nhận được sự giúp đỡ!

Đây là 1 ứng dụng của AutoCAD .NET API cho phép Trích xuất Text trong bản vẽ ra file Excel(*.xls;*.xlsx) và file Text(*.txt)

 

**************************

Chỉnh sửa theo gia_bach
  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Đây là 1 ứng dụng của AutoCAD .NET API cho phép Trích xuất Text trong bản vẽ ra file Excel(*.xls;*.xlsx) và file Text(*.txt)

 

Cách sử dụng :

1. Copy file "WriteToExcel.dll" vào hệ thống(đĩa cứng, USB, ...).

2. Khởi động AutoCAD, mở file Cad cần trích xuất Text .

3. Tại dấu nhắc (Command ) của CAD gõ lệnh NETLOAD và chỉ đến vị trí file "WriteToExcel.dll" vừa copy ở buớc 1, chọn OPEN để hoàn thành lệnh NETLOAD .

4. gõ lệnh toex để bắt đầu.

 

(Nếu bạn đã quen với AutoLisp, các buớc 1-2-4 tuơng tự như cách load 1 ứng dụng AutoLisp, chỉ thay lệnh APPLOAD bằng lệnh NETLOAD ở buớc 3.)

 

Dowload here : WriteToExcel.zip

Cảm ơn bác Gia Bạch, nhưng em tải về test và nó lại hiện lên lỗi này. Không biết phải xử lý thế nào nữa, mong bác giúp đỡ em với! Cảm ơn bác.

File:

http://www.mediafire.com/?zyai0ee9fbfvsb2

T/B: Không hiểu sao em muốn upload lên cadviet mà không thể được nữa bác à. Toàn bị lỗi thôi!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
gia_bach    1.442
Cảm ơn bác Gia Bạch, nhưng em tải về test và nó lại hiện lên lỗi này. Không biết phải xử lý thế nào nữa, mong bác giúp đỡ em với! Cảm ơn bác.

File:

http://www.mediafire.com/?zyai0ee9fbfvsb2

T/B: Không hiểu sao em muốn upload lên cadviet mà không thể được nữa bác à. Toàn bị lỗi thôi!

Sorry ! :D

Có thể do không tuơng thích Assembly (compile với CAD2010).

Do tại cơ quan không có sẵn Cad2008, hẹn bạn sau nhé !

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Nguyen Hoanh    4.524

Đúng là AutoCAD thao tác với unicode rất khó khăn.

 

Dưới đây là lisp để biến file txt của bạn thành file txt unicode (mở bằng Wordpad hoặc MS Word). Tuy nhiên không triệt để bởi vì Autolisp không thể tạo ra một dấu xuống dòng unicode được. chính vì vậy, tạm thời dấu xuống dòng được biến thành dấu chấm phẩy ( ; ) vào trong word hoặc excel bạn biến nó thành ngắt dòng sau.

 

Lệnh là FU (FixUnicode), sẽ tạo một file nằm cùng thư mục của file được chọn, có hậu tố _u.

(setq breaklinecharacter ";")
(defun c:FU ()
 (defun t2h ( c )
   (1-	(length	(member	c
		(reverse (vl-string->list
			   "0123456789ABCDEF"
			 )
		)
	)
)
   )
 )
 (defun getunicode (lst)
   (setq hexlist (vl-string->list "0123456789ABCDEF"))
   (if	(and
  (= (nth 0 lst) (ascii "\\"))
  (= (nth 1 lst) (ascii "U"))
  (= (nth 2 lst) (ascii "+"))
  (member (nth 3 lst) hexlist)
  (member (nth 4 lst) hexlist)
  (member (nth 5 lst) hexlist)
  (member (nth 6 lst) hexlist)
)
     (progn
(setq
  u2 (+ (* (t2h (nth 3 lst)) 16) (t2h (nth 4 lst)))
  u1 (+ (* (t2h (nth 5 lst)) 16) (t2h (nth 6 lst)))
)
(list u1 u2)
     )
     nil
   )
 )
 (setq	fi  (getfiled "Chon file text" "" "txt" 0)
fo  (strcat (vl-filename-directory fi)
	    "\\"
	    (vl-filename-base fi)
	    "_u.txt"
    )
fih (open fi "r")
foh (open fo "w")
cur nil
 )
 (write-char 255 foh)
 (write-char 254 foh)

 (while (setq ch (read-char fih))
   (setq cur (append cur (list ch)))
   (if	(>= (length cur) 7)
     (if (setq uni (getunicode cur))
(progn
  (write-char (car uni) foh)
  (write-char (cadr uni) foh)
  (setq cur nil)
)
(progn
  (setq a (car cur))
  (if (/= a 13)
    (progn
      (if (= a 10) (setq a (ascii breaklinecharacter)))
      (write-char a foh)
      (write-char 256 foh)	  	      
    )
  )
  (setq cur (cdr cur))
)
     )      
   )
 )
 (foreach ch cur
   (write-char (car cur) foh)
   (write-char 256 foh)
 )
 (close fih)
 (close foh)
 (princ "Done!!!")
 (princ)
)

 

Nếu bạn sử dụng quen excel, bạn có thể dễ dàng biến file text ngăn bằng dấu ; thành các hàng trong excel.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Sorry ! :D

Có thể do không tuơng thích Assembly (compile với CAD2010).

Do tại cơ quan không có sẵn Cad2008, hẹn bạn sau nhé !

 

 

Đúng là AutoCAD thao tác với unicode rất khó khăn.

 

Dưới đây là lisp để biến file txt của bạn thành file txt unicode (mở bằng Wordpad hoặc MS Word). Tuy nhiên không triệt để bởi vì Autolisp không thể tạo ra một dấu xuống dòng unicode được. chính vì vậy, tạm thời dấu xuống dòng được biến thành dấu chấm phẩy ( ; ) vào trong word hoặc excel bạn biến nó thành ngắt dòng sau.

 

Lệnh là FU (FixUnicode), sẽ tạo một file nằm cùng thư mục của file được chọn, có hậu tố _u.

(setq breaklinecharacter ";")
(defun c:FU ()
 (defun t2h ( c )
   (1-	(length	(member	c
		(reverse (vl-string->list
			   "0123456789ABCDEF"
			 )
		)
	)
)
   )
 )
 (defun getunicode (lst)
   (setq hexlist (vl-string->list "0123456789ABCDEF"))
   (if	(and
  (= (nth 0 lst) (ascii "\\"))
  (= (nth 1 lst) (ascii "U"))
  (= (nth 2 lst) (ascii "+"))
  (member (nth 3 lst) hexlist)
  (member (nth 4 lst) hexlist)
  (member (nth 5 lst) hexlist)
  (member (nth 6 lst) hexlist)
)
     (progn
(setq
  u2 (+ (* (t2h (nth 3 lst)) 16) (t2h (nth 4 lst)))
  u1 (+ (* (t2h (nth 5 lst)) 16) (t2h (nth 6 lst)))
)
(list u1 u2)
     )
     nil
   )
 )
 (setq	fi  (getfiled "Chon file text" "" "txt" 0)
fo  (strcat (vl-filename-directory fi)
	    "\\"
	    (vl-filename-base fi)
	    "_u.txt"
    )
fih (open fi "r")
foh (open fo "w")
cur nil
 )
 (write-char 255 foh)
 (write-char 254 foh)

 (while (setq ch (read-char fih))
   (setq cur (append cur (list ch)))
   (if	(>= (length cur) 7)
     (if (setq uni (getunicode cur))
(progn
  (write-char (car uni) foh)
  (write-char (cadr uni) foh)
  (setq cur nil)
)
(progn
  (setq a (car cur))
  (if (/= a 13)
    (progn
      (if (= a 10) (setq a (ascii breaklinecharacter)))
      (write-char a foh)
      (write-char 256 foh)	  	      
    )
  )
  (setq cur (cdr cur))
)
     )      
   )
 )
 (foreach ch cur
   (write-char (car cur) foh)
   (write-char 256 foh)
 )
 (close fih)
 (close foh)
 (princ "Done!!!")
 (princ)
)

 

Nếu bạn sử dụng quen excel, bạn có thể dễ dàng biến file text ngăn bằng dấu ; thành các hàng trong excel.

Em cảm ơn 2 bác Gia Bạch và Nguyễn Hoành. Trong lúc cấp bách phải nộp gần 100 bộ hồ sơ thì em lại thấy có một cách, không biết có phải là ý hay không. Nhưng em xin chia sẻ để nếu có ai gặp phải trường hợp như em có thể giải quyết được.

Đầu tiên em chọn các đối tượng và vào menu Express của cad. Chọn Text> Text to Mtext ---> sau đó em copy ra Excel và làm thao tác tách ra (cái này thì đơn giản với người nào quen làm excel). Thế là em đã làm và hoàn thành! Xin cảm ơn sự giúp đỡ của 2 bác!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
gia_bach    1.442
Em cảm ơn 2 bác Gia Bạch và Nguyễn Hoành. Trong lúc cấp bách phải nộp gần 100 bộ hồ sơ thì em lại thấy có một cách, không biết có phải là ý hay không. Nhưng em xin chia sẻ để nếu có ai gặp phải trường hợp như em có thể giải quyết được.

Đầu tiên em chọn các đối tượng và vào menu Express của cad. Chọn Text> Text to Mtext ---> sau đó em copy ra Excel và làm thao tác tách ra (cái này thì đơn giản với người nào quen làm excel). Thế là em đã làm và hoàn thành! Xin cảm ơn sự giúp đỡ của 2 bác!

Thật ra nếu sử dụng lệnh CAD dataextraction thì công việc đơn giản hơn

(ở bước 4 trong mục Category filter chỉ chọn Text và mục Properties chỉ chọn value)

toex.jpg

 

Bạn thử lại nhé. (T/hợp file CAD bị kí hiệu %%* thì sử dụng Lisp của bác Hoành)

Đây là 1 ứng dụng của AutoCAD .NET API cho phép Trích xuất Text trong bản vẽ ra file Excel(*.xls;*.xlsx) hoặc file Text(*.txt)

 

Cách sử dụng :

1. Copy file "ToExcel_Cad2008.dll" hoặc "ToExcel_Cad2010.dll" vào hệ thống(đĩa cứng, USB, ...).

2. Khởi động AutoCAD, mở file Cad cần trích xuất Text .

3. Tại dấu nhắc (Command ) của CAD gõ lệnh NETLOAD và chỉ đến vị trí file "*.dll" vừa copy ở buớc 1, chọn OPEN để hoàn thành lệnh NETLOAD .

4. gõ lệnh toex để bắt đầu.

(Nếu bạn đã quen với AutoLisp, các buớc 1-2-4 tuơng tự như cách load 1 ứng dụng AutoLisp, chỉ thay lệnh APPLOAD bằng lệnh NETLOAD ở buớc 3.)

 

Download here : ToExcell.rar

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
culinh    1
Em cảm ơn 2 bác Gia Bạch và Nguyễn Hoành. Trong lúc cấp bách phải nộp gần 100 bộ hồ sơ thì em lại thấy có một cách, không biết có phải là ý hay không. Nhưng em xin chia sẻ để nếu có ai gặp phải trường hợp như em có thể giải quyết được.

Đầu tiên em chọn các đối tượng và vào menu Express của cad. Chọn Text> Text to Mtext ---> sau đó em copy ra Excel và làm thao tác tách ra (cái này thì đơn giản với người nào quen làm excel). Thế là em đã làm và hoàn thành! Xin cảm ơn sự giúp đỡ của 2 bác!

Bác Phương nói phét vừa thôi. Có 8 bộ hồ sơ Yên Bái thôi mà. Hehe. Mà Bác tách MText ở trong excel thế nào vậy? Bác thao tác nhanh quá, em chưa kịp học mót:))

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongthien    0

em cũng gặp tình trạng đó đó

mong mấy anh giúp dùm em với

xuất tên CSD, số thửa, diện tích, loại đất ra exel theo một hàng ngang theo từng cột riêng được không ạ.

chỉ cần quét cả bản đồ rồi xuất sang exel không cần theo trình tự, miễn sao số thửa, loại đất, diện tích, tên CSD của 1 thửa đất theo 1 hàng ngang là được rồi

file kèm theo

http://www.cadviet.com/upfiles/3/dc63.dwg

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
em cũng gặp tình trạng đó đó

mong mấy anh giúp dùm em với

xuất tên CSD, số thửa, diện tích, loại đất ra exel theo một hàng ngang theo từng cột riêng được không ạ.

chỉ cần quét cả bản đồ rồi xuất sang exel không cần theo trình tự, miễn sao số thửa, loại đất, diện tích, tên CSD của 1 thửa đất theo 1 hàng ngang là được rồi

file kèm theo

http://www.cadviet.com/upfiles/3/dc63.dwg

Phongthien ơi với bản vẽ ấy bạn có thể sử dụng CESMAP của địa chính là làm được thật là đơn giản. Nếu bạn ở gần Hà Nội tôi có thể giúp bạn dễ thôi

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
phongthien    0
Phongthien ơi với bản vẽ ấy bạn có thể sử dụng CESMAP của địa chính là làm được thật là đơn giản. Nếu bạn ở gần Hà Nội tôi có thể giúp bạn dễ thôi

ồ xa quá

em ở bình dương lận

à cho em hỏi nhe

chương trình cesmap có bản quyền mà phải hong anh.em seach trên google hoài mà không có.huhu

không còn cách nào khác nửa sao anh?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ainhandilac    5

Chào các bác, mình đang tập làm cái lisp tạo mục lục bản vẽ bằng cách ghi số hiệu bản vẽ và tên bản vẽ từ cad sang excel, nhưng vấn đề rắc rối là phông chữ tiếng việt ko ổn, thấy cái lisp của bác hoành nhưng ko hiểu thế nào để lắp ghép vào được, nhờ các cao thủ chỉnh sửa hộ mình với, cảm ơn các bác nhiều, chúc các bác cùng gia đình nhiều niềm vui.

 


 (DEFUN C:mlbv ( )
  (setq fn (getfiled "Select file" "" "xls" 1))
(while
   (princ "chon so hieu ban ve")
(setq ss (ssget '((0 . "TEXT"))))
 (setq e (ssname ss 0))
 (setq t1 (strcat (cdr (assoc 1 (entget e))) "\t"))
 (princ "chon ten ban ve")
 (setq ss (ssget '((0 . "TEXT"))))
 (setq stt 0
cd (sslength ss)
)
       (repeat cd
(setq e (ssname ss stt))
           (setq t2 (cdr (assoc 1 (entget e))))
(setq t1 (strcat t1 t2))
(setq stt (1+ stt))
   )
     (setq f0 (open fn "a"))
  (write-LINE T1 F0)
 (close f0)
 )
 )

Chỉnh sửa theo ainhandilac

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Doan Van Ha    2.676

Xuất tiếng Việt ra Excel là 1 vấn đề cực nhọc trong Cad. Bạn đọc loạt bài này thì thấy sự cực nhọc đó (từ bài #1342 trở về sau):

http://www.cadviet.c...40

Lisp của bác Hoành tôi test rồi, toàn ra tiếng Tàu!

Giải pháp chữa cháy mà tôi đang sử dụng:

1). Hoặc là viết text trên cad bằng TCVN3. Khi đó sẽ xuất ra Excel theo TCVN3, đọc được tiếng Việt.

2). Hoặc viết bằng Unicode, nhưng trước khi xuất file thì dùng lisp chuyển qua TCVN3.

Cả 2 cách trên, sau đó có thể chuyển về Unicode bằng cách chuyển mã Unikey hoặc Vietkey... Nhưng cũng không triệt để lắm.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×