# 这个是相对路径,可以修改父文件夹(images这个文件夹名不能更改)
# img_path: images路径下的图片名
sheet.cell(row=img_site1_2 + 1, column=img_site2_2).hyperlink = 'images\\' + img_path
# 设置居中靠底部显示
align2 = Alignment(horizontal='right', vertical='justify')
try:
# 使用tqdm库进行进度条显示
with tqdm(iterable=images, desc='图片导入', unit='张', total=len(images)) as pgbr:
for img_path in images:
# 处理图片名称(获取插入地址)
img_sites = img_path.split('_')
# 行数(需要+1)
img_site1 = int(img_sites[0])
img_site1_2 = img_site1
# sheet.row_dimensions[img_site1+1].height=40
img_site1 = str(img_site1+1)
# 转换为int,方便使用这个值当数组下标去取clos的值,列数
img_site2 = int(img_sites[1])
# if img_site2 == 0:
# img_site2 = int(img_sites[2])
img_site2_2 = img_site2 + 11
# 数组取值从0开始,而获取到的值是从1开始,真正的列值
img_site2 = cols[img_site2 - 1]
# 图片真正的地址
img_path_real = savepath2 + '\\' + img_path
# 插入图片本地地址
# 这个是绝对路径(换一台电脑就不好使了)
# file_name = 'file:///' + img_path_real # 这个是多余的,链接生成自动会产生
# 使用相对路径,换一台电脑也可以正常访问图片)
sheet.column_dimensions[img_site2].width=18
# sh = sheet.row_dimensions[img_site1_2+1].height
# print("sh: ",sh)
# 插入到excel中的位置
position = img_site2 + img_site1
# 这个是绝对路径,修改文件夹名称就不能用了
# sheet.cell(row=img_site1_2 + 1, column=img_site2_2).hyperlink = img_path_real
# 这个是相对路径,可以修改父文件夹(images这个文件夹名不能更改)
sheet.cell(row=img_site1_2 + 1, column=img_site2_2).hyperlink = 'images\\' + img_path
sheet.cell(row=img_site1_2 + 1, column=img_site2_2).style = "Hyperlink"
sheet.cell(row=img_site1_2 + 1, column=img_site2_2).value = '详情'
sheet.cell(row=img_site1_2 + 1, column=img_site2_2).alignment = align2
# 可能存在插入的是视频(视频就直接以文件形式插入)
try:
img = Image(img_path_real)
img.width = 50
img.height = 50
# 插入图片
sheet.add_image(img, position)
except Exception as e:
sheet.cell(row=img_site1_2 + 1, column=img_site2_2).value = '视频' + str(img_site1_2) + '_' + str(img_site2_2 - 11)
sheet.cell(row=img_site1_2 + 1, column=img_site2_2).alignment = Alignment(horizontal='center', vertical='center')
# 进度条
pgbr.update(1)
pass
path_filename2 = savepath + '\\' + 'xxx年xx月_' + '.xlsx'
wb.save(path_filename2)
except Exception as e:
print(e)
return e