I use blocks with attributes such as current draw and a few other things. I need a lisp routine that will extrac the data, place them in a template table then place that table into a layout on paper space. I've seen the post about data extraction but that code did not work for some reason and I could'nt figure out why it didn't I'm thinking something along the lines of this

(defun cEXT (/ *error* dxe dwg myDwg oldVars source vars)

;;--------------------------------------------------------------------;
;; User defined variables:
;;--------------------------------------------------------------------;
(setq dxe "C:\\Temp\\dext.dxe")
(setq dwg "C:\\Temp\\dext.dwg")
(setq source "C:\\Temp\\dext-orig.dxe")
;;--------------------------------------------------------------------;
;; Main code
;;--------------------------------------------------------------------;
(vl-load-com)
(princ "\rDEXT ")
(defun *error* (msg)
(and oldVars (mapcar 'setvar vars oldVars))
(cond ((not msg)) ; Normal exit
((member msg '("Function cancelled" "quit / exit abort"))) ; <esc> or (quit)
((princ (strcat "\n** Error: " msg " ** ")))) ; Fatal error, display it
(princ))
(prompt "\n\nPlease wait... ")
(setq myDwg (strcat (getvar 'dwgprefix) (getvar 'dwgname))
vars '("CMDECHO" "FILEDIA")
oldVars (mapcar 'getvar vars))
(mapcar 'setvar vars '(0 0))
(setq acDoc (vla-get-activedocument (vlax-get-acad-object)))

(foreach file (list dxe dwg)
(if (findfile file) (vl-file-delete file)))

(if (findfile source)
(vl-file-copy source dxe)
(*error* (strcat (vl-filename-base source)
(vl-filename-extension source)
" not found")))

(vla-saveas acDoc dwg acNative)

(command "._-dataextraction" dxe "yes" '(-75 75 0))

(vla-saveas acDoc myDwg acNative)

(*error* nil)
)