guosheyang 发表于 2023-1-17 15:02:15

函数共享-----用数组的方法将lisp的列表转到Excel中

本帖最后由 guosheyang 于 2023-1-17 15:16 编辑

       给朋友们分享一个用数组将列表转到Excel的函数,有别于传统的princ方法。其中lst2array列表转数组为本人所写,将数字转为Excel字母列号的函数为李迈克大神的,lst2excel主函数函数部分格式设置内容参考了st788796网友的代码 ,请大家测试并反馈,谢谢!
;测试代码
(lst2excel(setq lst'( ("第一列""第二列""第三列""第四列""第五列""第六列""第七列""第八列""第九列""第十列" "第十一列""第十二列""第十三列""第十四列""第十五列""第十六列""第十七列""第十八列""第十九列""第二十列" "第二十一列""第二十二列""第二十三列""第二十四列""第二十五列""第二十六列""第二十七列""第二十八列""第二十九列""第三十列")
                     (1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 )
                     (4 5.89 6 4 5.89 6 4 5.89 6 4 5.89 6 4 5.89 6 4 5.89 6 4 5.89 6 4 5.89 6 4 5.89 6 4 5.89 6 )
                     ("11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3" "11\n2S" 2.67 "3")
                     ("c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t" "c" 77.45 "t")
                     (7 "pp" "t" 7 "pp" "t" 7 "pp" "t" 7 "pp" "t" 7 "pp" "t" 7 "pp" "t" 7 "pp" "t" 7 "pp" "t" 7 "pp" "t" 7 "pp" "t" ))))

;列表转到excel
;(lst2excel lst);注意 列表lst的每个子表长度必须相同
;----------------------------------------------------------------
;将数字转为Excel表的字母列号(数字转字母)
;; Number to Column-Lee Mac         
;; n - positive non-zero integer   
;(LM:num->col 800) "ABC"
(defun LM:num->col( n )
    (if (< n 27)
      (chr (+ 64 n))
      (strcat (LM:num->col(/ (1- n) 26)) (LM:num->col (1+ (rem (1- n) 26))))
    )
)
;----------------------------------------------------------------
**** Hidden Message *****

guosheyang 发表于 2023-1-18 08:49:08

e2002 发表于 2023-1-17 17:32
"lst的每个子表长度必须相同"

这个是不必要的,实际上二维数组list,可以按列/按行的方式来写入xlsx文件 ...

老大定义数组   那样好像不行哦:lol

guosheyang 发表于 2023-1-29 10:46:06

yshf 发表于 2023-1-29 09:11
(LM:num->col 800) ;应该返回 "ADT"
(LM:num->col 731) ;则返回 "ABC"

是这样的好像没问题:lol

e2002 发表于 2023-1-17 17:32:45

"lst的每个子表长度必须相同"

这个是不必要的,实际上二维数组list,可以按列/按行的方式来写入xlsx文件的cell,至于对齐方式,给定相应的参数即可。

LIULISHENG 发表于 2023-1-17 16:17:54

支持一下看看

aiming 发表于 2023-1-17 18:01:04

支持一下看看

中国梦 发表于 2023-1-17 21:29:02


支持一下看看

ptime 发表于 2023-1-17 21:47:04

谢谢分享!!!

海盗曹 发表于 2023-1-17 22:41:22

回帖看全景

yoyoho 发表于 2023-1-17 22:50:22

支持一下看看!!!!!

白色微風1991 发表于 2023-1-18 07:41:25

支持一下看看

crtrccrt 发表于 2023-1-18 08:44:05

看本帖隐藏内容
页: [1] 2 3 4
查看完整版本: 函数共享-----用数组的方法将lisp的列表转到Excel中