工作需要需要复制批量图片到execl,并指定大小,这里简单实现一下,使用xlwings库来实现总体来说是比较简单的,这里简单记录一下
import xlwings as xw
import os
# 创建一个可见的Excel应用程序对象
app = xw.App(visible=True)
# 打开Excel文件
workbook = app.books.open('datainfo.xlsx')
# 选择要操作的工作表
sheet = workbook.sheets['Sheet1']
# 图片所在目录
img_dir = 'E:\算法\img'
# 获取图片目录下的所有文件
img_files = os.listdir(img_dir)
# 设置单元格的大小为200x200
sheet.range('A1').column_width = 200
sheet.range('A1').row_height = 200
j=1
# 遍历图片目录,并将图片复制到Excel中
for i, img_file in enumerate(img_files):
info="A"+str(j)
img_path = os.path.join(img_dir, img_file) # 图片的完整路径
picture = sheet.pictures.add(img_path) # 将图片插入到Excel
picture.left = sheet.range('A1').offset(row_offset=i).left # 设置图片左边距为每行中的第i个单元格的左边距
picture.top = sheet.range('A1').offset(row_offset=i).top # 设置图片上边距为每行中的第i个单元格的上边距
sheet.range(info).column_width = 200
sheet.range(info).row_height = 200
picture.width = 200 # 设置图片宽度为200
picture.height = 200 # 设置图片高度为200
j=j+1
# 保存并关闭Excel文件
workbook.save()
workbook.close()
# 退出Excel应用程序
app.quit()
表格的长度还有些bug,后续还需要微调一下