- 演示:
Excel二维码批量生成
- exe资源文件:
下载exe
- 代码实现:
-
pip install openpyxl
openpyxl 是一个用于读写 Excel 文件的 Python 库
- pip install qrcode
qrcode
是一个 Python 库,可以用来生成二维码(Quick Response Code,快速响应码)。二维码是一种二维条形码,可以储存很多信息,包括文本、网址、联系人信息等。通过扫描二维码,用户可以快速获取其中包含的信息
- 代码实现
import qrcode
import re
import openpyxl
from PIL import Image, ImageDraw, ImageFont
# 读取 Excel 文件
wb = openpyxl.load_workbook('code.xlsx')
sheet = wb.active
# 字体设置(使用支持中文的字体文件)
font_path = "simsun.ttc" # 宋体
font_size = 12
font = ImageFont.truetype(font_path, font_size)
# 逐行读取内容并生成二维码
for row in sheet.iter_rows(values_only=True):
content = str(row[0]) # 假设内容在每一行的第一个单元格中
remark = str(row[1]) if row[1] else "" # 获取备注,如果为空则设为空字符串
# 生成二维码
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(content)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
# 在二维码图片上添加备注
draw = ImageDraw.Draw(img)
draw.text((10, img.size[1] - 20), remark, font=font, fill="black") # 在二维码图片底部添加备注
# 保存带备注的二维码图片
img_path = re.sub(r'[\\/*?:"<>|]', '_', f'{remark}.png')
img.save(img_path)
print("带备注的二维码生成完成!")