Shell脚本(12)——批量插入code128条码
创作者俱乐部成员
问题来自论坛:如何根据A列内容,在B列生成条码。
https://bbs.wps.cn/topic/34267
环境是前面介绍过的wsl,因为这次需要安装zint这个命令行生成条码的工具
首先,还是用busybox httpd开启web接口
🔔 | #!/bin/sh echo -e 'Content-type: text/plain; charset=utf-8\n' sh |
很简单,就是执行传递过来的命令
然后,从JS通过fetch发送命令,之后插入图片
👋 | function tt() { let r = Range("A1:A4").Value2.flat() fetch("http://localhost:8080/cgi-bin/sh.sh", { method: "POST", body: r.map((x,y)=>`zint -o "../B${y+1}.png" -d "${x}" --filetype=PNG`).join("\n") }).then(r=>{ for (let i of Range("B1:B4")) { i.GetRangeEx().InsertCellPicture(`${ThisWorkbook.Path}\\B${i.Row}.png`) } }) } |
fetch发送的是构造好的命令,类似zint -o 输出文件 -d 输入内容 --filetype=PNG
之后,就是用GetRangeEx().InsertCellPicture,把生成的图片插入对应的单元格
今天的关键是GetRangeEx().InsertCellPicture方法,是从论坛里大佬的回帖学来的,没有找到相关文档,但能用就好😁
说句实话,安装各种环境确实挺烦的,但是,也可以看到,有了环境,需要自己写的代码其实很少,只需要把功能连起来,就能用了。。。
创作者俱乐部成员
创作者俱乐部成员