首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

盘点一个Python自动化办公的需求——一键批量插图到Excel指定单元格

读书好处心先觉,立雪深时道已传。

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,问题如下:大佬们,昨天我在做插入excel图片的时候想起一个需求,好像挺难办的,也蛮现实的。比如每个图片是有名称的,但在做excel的时候,能不能按照excel中的名称调用图片插入。就像下面这样子,插入在B列对应的名称边上。

相当于你现在的图片名称已经命名好了,你现在只需要插入到Excel中,图片名称(以单元格命名)所对应的那个单元格里边。单个插入很简单的,他自己也实现了,就是批量进行操作的时候,有些有心无力了。代码如下:

from openpyxl.drawing.image import Image

pic_path = r'C:\Users\Administrator\Desktop\图片练习'

wb = load_workbook(r'C:\Users\Administrator\Desktop\练习2.xlsx')

ws = wb.active

pic_list = [os.path.join(pic_path,i) for i in os.listdir(pic_path) if i.endswith('.jpg')]

new_size = (90,90)

num = 2

for i,pic in enumerate(pic_list,start=1):

image = Image(pic)

image.width,image.height = new_size

ws.row_dimensions[num].height = 80

ws.column_dimensions['b'].width = 12

ws.add_image(image,'b' + str(num))

num += 2

wb.save(r'C:\Users\Administrator\Desktop\练习2.xlsx')

二、实现过程

这里【论草莓如何成为冻干莓】给了一个思路:仅用excel做,vba也可以的,就是名称匹配而已。我们这个是直接固定在单元格里,单元格多大,图片就多大。

后来【论草莓如何成为冻干莓】直接问到了这份代码:

顺利地解决了粉丝的问题。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O-0sYh5RFTM0wPCyYBD1E78Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券