这里展示通过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
)