工作需要需要复制批量图片到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) # 将图片插入到Excelpicture.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 = 200sheet.range(info).row_height = 200picture.width = 200 # 设置图片宽度为200picture.height = 200 # 设置图片高度为200j=j+1
# 保存并关闭Excel文件
workbook.save()
workbook.close()# 退出Excel应用程序
app.quit()
表格的长度还有些bug,后续还需要微调一下