使用Python在Excel中批量生成條形碼

最近在研究盤點機盤點的問題,其中有一部分的商品沒有的條形碼,就想着自個生成條形碼。參考了網上的教程,關於Excel批量生成條形碼有大體如下三種:python

  1. 下載條形碼字體生成條形碼。(打印出來後掃描不出來)
  2. Excel開發組件生成條形碼。(能夠掃出來,操做繁瑣)
  3. Python批量生成條形碼,再將圖片路徑插入到表格中。(就是一搜就出現的12行批量生成條形碼的東東)

嘗試了以上三種後,閱讀openpyxl示例文檔的時候,發現支持直接在Excel中插入圖片,就有了以下代碼:字體

from openpyxl import load_workbook,Workbook
from openpyxl.drawing.image import Image
from pystrich.code128 import Code128Encoder

def excelCode128(file):
    '''
    file:在文件目錄下執行,excel的文件名。
    A列是商品編碼,B列是生成的條形碼。
    '''

    wb = load_workbook(file)
    sheet = wb.active

    x = 0

    for r in range(1,sheet.max_row+1):
        for i in range(1,3):
            if i == 1:
            # A列數據生成條碼
                var = sheet.cell(column=i,row=r).value
                filename = str(var)+'.PNG'
                Code128Encoder(str(var)).save(filename,bar_width=1)
            if i == 2:
            # B列數據插入條碼
                img = Image(filename)
                B = 'B'+str(r)
                sheet.add_image(img,B)
        x += 1

    wb.save(file)

    print("執行成功!共計%s條!" %str(x))
相關文章
相關標籤/搜索