一、需求分析
条形码应用广泛,尤其是人事、财务和库管等等岗位,常需根据excel文件成批生成条码,如果是经常性天天做,用excel的自己控件还是很枯燥烦人的。
其实用pyrhon可以更加轻松的完成这一任务,做好准备工作之后,实际只每天操作只需要两步!
(本例测试代码和完整代码均全部免费奉送,下载方法见文尾)
【第一步】运行一个python代码,该代码自动完成:
1、从指定excel文件中剔除表头后的指定字段取得需要生成的条型码数据,
2、将其生成条形码文件并存放到指定的路径,
3、生成一段字符串可用于在excel直接插入条型码图片
【第二步】打开目标excel文件,将刚才 python代码 输出的字符串复制粘贴进去
======两步就完成任务了======
这段python代码还特简单,精简之后只有12行,只需要改改里面读取的文件名每天都可以反复使用。更方便的是,实际上我们平时用的完整版会稍微多几行,以便在命令行指定文件名、表名等参数,这样遇到其它不同格式的excell文件就t通用了
二、实现思路(具体代码见动画中):
1、 使用pandas,完成excel数据读入
2、使用reportlab下的createBarcodeDrawing,生成条形码对象
3、使用reportlab下的Drawing,绘制条形码到内存
4、使用reportlab下的renderPM,将条形码写到磁盘文件
5、最后print一条构造好的excel可用的插入字符串
三、完整操作演示(循环播放)
以前用excel的条码控件实现步骤还是挺烦人的。再加上不同版本的excel中,控件还有差异,这造成一线员工学习成本高,工作效果不稳定。
既然是插件实现。不如干脆用python做辅助,步骤简单,只需要两步骤,第一步是命令行一看就懂。然后第二步复制粘贴是个人都会。所以使用起来特别简单方便,尤其是python是可用生成exe可执行程序脱离开发环境运行的,只要it部门写好代码,直接交给其它部门运行就可以了,完全不用担心不会用了。所以财务或者文员不懂python也没关系,直接找it部门写一下交给你们用就行了。(具体生成exe可执行文件的方法以前已经发过了,请参阅旧闻)
四、代码下载
进一步改进,由于excel文件名、表格名、表头,字段名可能发生变化,因此最好在命令行中指定方便使用。
例如输入 python txm.py C:demo1人员名单.xlsx Sheet1 1 条码内容 C:demo1
代表处理C:demo1人员名单.xlsx这个文件的 “Sheet1”表,顶部跳过 1行,以 “条码内容” 为数据源 ,生成的条码文件放在目录 C:demo1
一旦换了需求:
python txm.py C:demo1人员名单.xlsx 测试2 0 单据号 C:demo1
代表处理C:demo1人员名单.xlsx这个文件的 “测试2”表,顶部不用跳过,以 “单据号” 为数据源 ,生成的条码文件放在目录 C:demo1
这里还是要推荐下小编的Python学习群:181 670 897, 邀请码:YZ 不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2017最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。