本文主要是介绍python 图片插入Excel并设置相关参数(可适配UiPath),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本教程分为图片批量插入以及图片单张插入;
废话不多说,直接上代码:
批量插入:
Excel表格式:
Python代码:
import os
from openpyxl import load_workbook
from openpyxl.drawing.image import Image#excelPath :Excel文件的路径
#sheetName :Excel文件中要操作的sheet名称
#picPathColunmNumber :图片全路径所在的列索引[从1开始](列索引1、2、3、4...)
#writeColunmName :图片要插入的列名(列名:A、B、C、D...)
#imgWidth :图片宽度
#imgHight :图片高度
#columnWidth :图片列宽度
#rowHight :每行高度# 插入图片
def addImgToExcel(excelPath,sheetName,picPathColunmNumber,writeColunmName,imgWidth,imgHight,columnWidth,rowHight):#加载Excel文件并读取指定Sheetwb = load_workbook(excelPath)ws = wb[sheetName]#获取整个sheet的最大行数Max_RowNumber=ws.max_row# 从表格第二行开始插入图片for rowid in range(2,Max_RowNumber+1):#设置行高(除去第一行)ws.row_dimensions[rowid].height = rowHight#取到第N行第N列的值(图片的全路径)picPath=ws.cell(rowid,picPathColunmNumber).value#对得到的路径进行判断if picPath and os.path.exists(picPath):#设置图片尺寸大小img = Image(picPath)img.width = imgWidthimg.height = imgHight# 写入图片ws.add_image(img,str(writeColunmName)+str(rowid))# 列宽ws.column_dimensions[writeColunmName].width = columnWidthelse:continuewb.save(excelPath)#方法入口
if __name__ == '__main__':addImgToExcel('商标.xlsx','Sheet1',16,'H',65,71,8,55)
注意事项:
1.若用UiPath调用此段Python代码,请将代码中的注释以及中文删除,否则报错!!!
2.需安装os、openpyxl、pillow包
单一图片插入:
from openpyxl import load_workbook
from openpyxl.drawing.image import Imagedef insertimg2excel(imgPath,excelPath,sheetName,write_location):imgsize = (65, 71)wb = load_workbook(excelPath)ws = wb[sheetName]ws.column_dimensions['N'].width = imgsize[0] * 0.13img = Image(imgPath)img.width, img.height = imgsizews.add_image(img,write_location)ws.row_dimensions[1].height = imgsize[1] * 0.75wb.save(excelPath)
看小编这么辛苦,给个赞再走吧!
这篇关于python 图片插入Excel并设置相关参数(可适配UiPath)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!