首页 > 代码库 > 在Excel中,不利用任何第三方工具,生成二维码
在Excel中,不利用任何第三方工具,生成二维码
有同事提需求,要批量生成二维码。谈了之后,我觉得可以做个excel文件,把要打印的内容放进去,然后给每行数据生成一个二维码。下一步就要在Excel里面生成二维码。问了一下度娘,貌似都得利用一些第三方工具,但是公司的政策比较严,任何软件都必须是正版(这种需求,短时间内估计不会批准预算买软件)。因此想不靠第三方的东西,就用纯粹的vba,去生成二维码。这个时候就要感谢一下谷歌,很快在StackOverflow上找到了我想要的源码。
这是StackOverflow的原帖
原帖的最受欢迎答案是由Jonas Heidelberg提供的。他并没有从头写起,而是站在了Jiri Gabriel的肩膀上。Jiri在2013年用vba写了一个1D/2D条码生成器,而且这位大哥很慷慨,直接把源码放到了GitHub,支持MIT协议。这是Jiri的源码。
Jonas在Jiri的源码基础上,又包装了一层,让调用更加简单。
总之,在这二位的基础上,我达成了目标。
这个版本也有一些缺陷。主要遇到两个。
- 慢。100多个字符长的string,一次生成10行,要将近2分钟。而且生成之后,Excel也变得很慢,貌似这些二维码很占资源。
- 遇到特定字符时,生成的二维码可能缺东西。比如,原始数据如果包含CN,生成二维码之后再去扫瞄,发现CN后面的内容都不见了;Jonas遇到另外一个问题,遇到某些字符时,二维码的内容不是缺少,而是重复。他自己修改了一下源码,我试用了一下,我这边生成的二维码彻底不对了。所以这还是个未解的难题。
在Excel中,不利用任何第三方工具,生成二维码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。