;; Excel 数据保存支持函数
;; 功能: 计算数据填的充范围
(Defun ddd-vlxls-cellidcalc (id x y / idx)
(setq id (car (ddd-vlxls-cellid id))
idx (ddd-vlxls-rangeid id)
x (+ x (car idx))
x (if (< x 1) 1 x)
y (+ y (cadr idx))
y (if (< y 1) 1 y)
idx (ddd-vlxls-rangeid (list x y))
id (ddd-vlxls-cellid (strcat id ":" idx))
id (strcat (car id) ":" (cadr id)))
id
)
;; Excel 数据保存支持函数
;; 功能: Range格式转为表
;; 样例:
;; (ddd-vlxls-cellid '(3 14)) return: ("C14" "")
(Defun ddd-vlxls-cellid (id / xx id1 id2 Rtn) ;;;;cell id 转换
(if (= (type id) 'list) (setq id (ddd-vlxls-rangeid id)))
(setq id (strcase id))
(if (null (setq xx (vl-string-search ":" id)))
(setq Rtn (list id ""))
(setq id1 (substr id 1 xx)
id2 (substr id (+ xx 2))
id1 (ddd-vlxls-rangeid id1)
id2 (ddd-vlxls-rangeid id2)
Rtn (list (ddd-vlxls-rangeid (list (min (car id1) (car id2))
(min (cadr id1) (cadr id2))))
(ddd-vlxls-rangeid (list (max (car id1) (car id2))
(max (cadr id1) (cadr id2)))))
)
) Rtn
)