python 图片插入表格

发布时间 2023-09-05 14:19:14作者: dafengchui
  • 图片插入表格自动化媲美vba
  • import os
    from PIL import Image
    from docx import Document
    from docx.shared import Inches
    
    # 创建空白的 Word 文档
    doc = Document()
    
    # 获取所有图片文件路径
    image_folder = r"E:\东\全部二维码-------11"
    image_files = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith(".png")]
    
    # 计算每个单元格应该放置的图片的索引
    num_images = len(image_files)
    
    # 根据图片数量自动设置表格的行数和列数
    num_rows = num_images // 3 if num_images % 3 == 0 else num_images // 3 + 1
    num_cols = 3
    
    # 创建表格
    table = doc.add_table(rows=num_rows, cols=num_cols)
    
    # 遍历每个单元格,将图片插入到表格中
    # 切片操作是非常高效的,因为它只返回需要的元素,而不会复制整个列表。因此,在处理大型列表时,使用切片操作可以显著提高程序的性能。
    for i, image_file in enumerate(image_files):
        # 打开并调整图片尺寸(可选)
        image = Image.open(image_file)
        image.thumbnail((Inches(1.5), Inches(1.5)))
    
        # 将图片添加到表格的单元格中
        cell = table.cell(i // num_cols, i % num_cols)
        cell.add_paragraph().add_run().add_picture(image_file, width=Inches(1.5))
    
    # 保存 Word 文档
    doc.save("东全部车辆new--二维码.docx")