美文网首页
Python实现将图片嵌入excel表格

Python实现将图片嵌入excel表格

作者: 开心的小哈 | 来源:发表于2022-09-13 08:55 被阅读0次

    需求

    在工作过程中遇到的问题:给了5个文件夹,文件夹里有许多图片,因需要看图片记录问题,故需要将图片放入excel中便于记录
    解决方案:
    环境:windows10,python3.10,openpyxl

    from openpyxl import Workbook, load_workbook
    from openpyxl.drawing.image import Image
    from openpyxl.drawing.spreadsheet_drawing import AnchorMarker, TwoCellAnchor
    
    import os
    ## 循环便利文件
    class Generate(object):
        def __init__(self,file_name,path_name):
            self.file_name=file_name
            self.path_name = path_name
            pass
        def itere(self):
            wb = Workbook()# 使用openpyxl创建新的workbook
            allfiles = os.listdir(self.path_name)
            a:int=0
            for i in allfiles:
    
                path = os.path.join(self.path_name, i)
                filenames = os.listdir(path)
                pathnames = [os.path.join(path, filename) for filename in filenames]# 将所有文件夹目录进行便利,拿到文件夹下方的文件名
                print(pathnames)
                # 按分类创建sheet
                ws = wb.create_sheet(i, a)# 根据文件夹名称创建sheet
                ws.cell(row=1, column=1, value='图片')# 设置第一行的字段
                ws.cell(row=1, column=2, value='文件地址')
                ws.cell(row=1, column=3, value='图中问题')
    
                m=0
                for j in pathnames:#循环本地图片
                    # m+1+1从单元格第二行开始循环
                    ws.cell(row=m+1+1, column=2, value=j)# 填写文件地址字段
                    img = Image(j)# 创建openpyxl的Image对象
                    _from = AnchorMarker(0, 50000, m+1, 50000)# 创建锚标记对象,设置图片所占的row
                    to = AnchorMarker(1, -50000, m+1+1, -50000)# 创建锚标记对象,设置图片所占的row 从而确认了图片位置
                    img.anchor = TwoCellAnchor('twoCell', _from, to)# 将锚标记对象设置图片对象的锚属性,图形就具备了所在位置
                    ws.add_image(img)# 添加图片
                    m+=1
                a+=1
            # print(allfiles)
            wb.save('test.xlsx')
    
    print('请输入要转换的目录')
    dir=r'C:\Users\sj176\Desktop\分类'
    ge=Generate('11',dir)
    ge.itere()
    

    最终效果

    image.png

    相关文章

      网友评论

          本文标题:Python实现将图片嵌入excel表格

          本文链接:https://www.haomeiwen.com/subject/ptwcortx.html