xlsx中批量制作图像超链接

这里展示通过openpyxl针对目录下所有图像制作超链接,展示的超链接文本内容为图像的相对路径,通过点击超链接即可查看相应的图像,同时使用自然排序方式,确保跟Windows下打开的排列顺序一致。

import os
from natsort import ns, natsorted
from openpyxl import Workbook
from openpyxl.styles import (
    Font, Alignment
)


def create_image_hyperlink(
    image_dir_path, xlsx_path,
):
    # 创建一个新的 Workbook 对象
    wb = Workbook()

    # 选择默认的工作表
    ws = wb.active
    title_info_list = [
        "图像地址", 
    ]
    
    for c, title_info in enumerate(title_info_list):
        ws.cell(row=1, column=c + 1, value=title_info)
        ws.cell(row=1, column=c + 1).alignment = Alignment(
            horizontal="center", vertical="center"
        )
    # 按照Windows自然排序方法进行排序
    image_name_list = natsorted(
        os.listdir(image_dir_path), 
        alg=ns.PATH
    )
    for i, image_name in enumerate(image_name_list):
        image_path = os.path.join("./images", image_name)
        
        ws.cell(row=2+i, column=1, value=image_path)
        ws.cell(row=2+i, column=1).hyperlink = image_path
        ws.cell(row=2+i, column=1).font = Font(
            underline='single', color='0563C1'
        )

    # 保存 Excel 文件
    wb.save(xlsx_path)
    
    
if __name__ == "__main__":
    image_dir_path = r"./images"
    xlsx_path = "./test.xlsx"
    create_image_hyperlink(
        image_dir_path, xlsx_path
    )
  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值