1、常规操作import

python设置--项目--python解释器--增加软件包Pillow\xlwings

from PIL import Image
import os
import xlwings as xw

2、存放图片的文件夹地址和excel表的引用

img_path = "C:/Users/Administrator/Desktop/ABC/"  # 存放图片的文件夹("\"换成"/")
filename = "C:/Users/Administrator/Desktop/1234567.xlsx"  # excel表路径

3、xlwings的代码块和OS的图片列表

说明:

ws.range().column 输出是列对应的数字

ws.api.Columns().Insert() 插入列注意大小写

ws.range().colunm_width 和 ws.range().row_height 是列宽和行高设置

ws.range().expand().value 选中表格引用列的数据

app = xw.App(visible=True, add_book=False)
wb = app.books.open(filename)
ws = wb.sheets[0]
to_col = ws.range('A1').column+1        # 图片列名为数字
ws.api.Columns(to_col).Insert()     # 引用列后插入一列
ws.range(1, to_col).column_width = 18       # 设置图片列列宽
ws.range(2, 1).expand('down').row_height = 80       # 设置引用列行高
ws.cells(1, to_col).value = '图片'        # 图片列标题命名
img_list = os.listdir(img_path)
by_col = ws.range(2, 1).expand('down').value        # 选中应用列的数据

4、循环图片并去掉扩展名

for i in img_list:img_names = i.split(".")[0]

5、循环表格数据和图片名的匹配

说明:图片地址img_name带扩展名

    for j in range(1, len(by_col)+1):# 引用列和图片名字一样,图片地址加名字(含扩展名)if by_col[j-1] == img_names:img_name = os.path.join(img_path, '%s' % i)

6、插入图片,并且和单元格大小相匹配

说明:用Image加载图片,用ws.pictures.add()内部参数,和单元格left\top\width\height对齐

# 插入图片在图片列,设置和单元格匹配img = Image.open(img_name).convert('RGB')ws.pictures.add(img_name, left=ws.range(j+1, 2).left,top=ws.range(j+1, 2).top,width=ws.range(2, 2).width,height=ws.range(2, 2).height)

7、保存关闭表格退excel应用

wb.save()
# wb.close()
# app.quit()

8、全部代码展示

from PIL import Image
import os
import xlwings as xw
img_path = "C:/Users/Administrator/Desktop/ABC/"  # 存放图片的文件夹("\"换成"/")
filename = "C:/Users/Administrator/Desktop/1234567.xlsx"  # excel表路径
app = xw.App(visible=True, add_book=False)
wb = app.books.open(filename)
ws = wb.sheets[0]
# last_row = ws.used_range.last_cell.row
to_col = ws.range('A1').column+1        # 图片列名为数字
ws.api.Columns(to_col).Insert()     # 引用列后插入一列
ws.range(1, to_col).column_width = 18       # 设置图片列列宽
ws.range(2, 1).expand('down').row_height = 80       # 设置引用列行高
ws.cells(1, to_col).value = '图片'        # 图片列标题命名
img_list = os.listdir(img_path)
by_col = ws.range(2, 1).expand('down').value        # 选中应用列的数据
for i in img_list:img_names = i.split(".")[0]for j in range(1, len(by_col)+1):# 引用列和图片名字一样,图片地址加名字(含扩展名)if by_col[j-1] == img_names:img_name = os.path.join(img_path, '%s' % i)# 插入图片在图片列,设置和单元格匹配img = Image.open(img_name).convert('RGB')ws.pictures.add(img_name, left=ws.range(j+1, 2).left,top=ws.range(j+1, 2).top,width=ws.range(2, 2).width,height=ws.range(2, 2).height)
wb.save()
# wb.close()
# app.quit()

python表格批量插图单元格xlwings\os\pillow教程,可不用20行代码敲定相关推荐

  1. python表格单元格批注批量插图xlwings\os\pillow教程,手把手代码讲解

    1.常规操作import python设置--项目--python解释器--增加软件包Pillow\xlwings from PIL import Image import os import xlw ...

  2. excel表格批量合并单元格很难?教你3秒做好

    Excel表格合并单元格很简单,但是需要合并为成百上千的单元格就很累很麻烦了,这里教你3秒搞定! 欢迎关注.收藏.点赞.评论.转发! 首先用wps打开excel表格 我们来看看下面的表格 我们需要把部 ...

  3. python 读取excel中单元格的内容

    python 读取excel中单元格的内容 excel文件内容: 读取excel代码: # coding=utf-8 import xlrd import sysreload(sys) sys.set ...

  4. python合并word表格单元格_python docx模块读取word表格遇到合并单元格时的处理

    python docx模块读取word表格遇到合并单元格时的处理 python docx模块读取word表格遇到合并单元格时的处理 python docx模块读取word表 遇到合并单元格时的处理 通 ...

  5. Python 操作 excel 插入图片、表格、设置单元格颜色、字体(三)

    Python 操作 excel 插入图片.表格.设置单元格颜色.字体 python 操作 excel 插入图片.表格.设置单元格颜色.字体 提示:以下是本篇文章正文内容,下面案例可供参考 一.open ...

  6. python如何对excel两个单元格求乘积_excel表格怎么求乘积_excel表格多个单元格怎么求积...

    excel是我们日常生活中常用的办公软件之一,经常拿来统计和运算.下面让学习啦小编为你带来excel表格多个单元格求积的方法. excel求积步骤如下: Excel中多个单元格相乘的乘法公式. 在E1 ...

  7. python 设置excel单元格式,Python xlwt设置excel单元格字体及格式

    Python xlwt设置excel单元格字体及格式 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python xlwt设置excel单元格字体及格式.txt  ...

  8. c修改datatable单元格的值_神奇的VBA编程:批量拆分单元格数据

    批量对单元格区域内每个单元格中的数据按照一定的规则进行拆分是职场工作中经常碰到的操作.Excel数据选项卡中"分列"提供了基础的功能.能帮助用户通过鼠标快速分列数据. 本篇< ...

  9. hssfworkbook 单元格合并后宽度不生效_一起来学习Excel批量合并单元格的操作技巧...

    在我们日常工作中,利用Excel制作表格时,合并单元格是一个让人又爱又恨的东西,合并单元格后的数据处理会带来很多麻烦,比如求和.统计等计算工作(可查阅<让我们一起来干掉Excel合并单元格的那些 ...

  10. EasyExcel 实现批量合并单元格(支持自定义)

    目录 1 Maven配置文件 2 MergeCellModel 3 CustomMergeCellHandler 4 调试代码 5 调试结果 注: 1 Maven配置文件 <!--hutool工 ...

最新文章

  1. 我总结的js性能优化的小知识
  2. vue中的组件导航守卫,个人理解
  3. 【MySQL】如何让数据库查询区分大小写
  4. C++(STL):17---deque之迭代器使用
  5. K3Cloud开放数据模型
  6. 安装提示没有安装包docker(转载)
  7. 关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类
  8. Java程序员需要注意的五大Docker误区
  9. antd中分页器如何自定义_react+antd分页 实现分页及页面刷新时回到刷新前的page...
  10. LeetCode 407. Trapping Rain Water II
  11. 如何实现LBS轨迹回放功能?含多平台实现代码
  12. 搜狐畅游一面(c++)
  13. EndNote文献输出引用格式自定义修改与编辑界面解读
  14. 51单片机(一)最小系统介绍
  15. Mac OS X 10.13.6升级到更高版本的方法
  16. The client and server cannot communicate, because they do not possess a common algorithm.
  17. 阿里云国际9款免费标签云生成工具
  18. 计算机毕业设计之java+ssm的洗衣店管理系统
  19. 智能机器人的核心技术和技术指标总结
  20. 嵌入式系统的软件看门狗和硬件看门狗

热门文章

  1. Data 解析 Doom 的 WAD 文件
  2. 高性能mysql之前缀索引
  3. 上市公司监事会职责是什么
  4. Inject environment variables to the build process中设置环境变量:
  5. 【读书笔记】《活法》《向知识分子介绍佛教》
  6. php毕业设计课题选题作品之php新闻管理系统(3)后台管理功能
  7. mysql数据库conf配置详解
  8. 弘辽科技:拒绝盲目推广,多多搜索低价引流,强力拉升免费流量
  9. Django开发实战2-4 模型-数据库增删改
  10. 计算机应用技术配置电脑2020,2020年华南农业大学计算机应用技术考研经验分享...