Python 将Excel文件某个sheet中的内容 复制成一个图片
我们工作中,发送邮件时,有时只需要一个附件即可,不过有时也需要将附件中的文件粘贴成一个图片放在正文中,如果要实现自动发送邮件功能时,就得攻克这种情况。
下面我们先攻克将Excel文件中某个sheet中的内容复制成一个图片的功能。
def create_save_img(file_path, sheetname,img_name): ''' Parameters ---------- file_path : string Excel文件的路径,最好是绝对路径. sheetname : string 需要复制成图片的Excel文件的sheet名. img_name : string 最终图片保存的名字及路径. Returns ------- None. ''' # 读取excel内容转换为图片 from PIL import ImageGrab import xlwings as xw import pythoncom import os import time os.system('taskkill /IM EXCEL.exe /F') pythoncom.CoInitialize() # 使用xlwings的app启动 app = xw.App(visible=False, add_book=False, ) # 打开文件 file_path = os.path.abspath(file_path) wb = app.books.open(file_path) # 选定sheet sheet = wb.sheets(sheetname) # 获取有内容的区域 all = sheet.used_range # 复制图片区域 all.api.CopyPicture() # 粘贴 sheet.api.Paste() # 当前图片 pic = sheet.pictures[-1] # 复制图片 pic.api.Copy() time.sleep(3)# 延迟一下操作,不然获取不到图片 # 获取剪贴板的图片数据 img = ImageGrab.grabclipboard() # 保存图片 img.save(img_name) # 删除sheet上的图片 pic.delete() # 不保存,直接关闭 wb.close() # 退出xlwings的app启动 app.quit() pythoncom.CoUninitialize() # 关闭多线程 # os.remove(file_path)
基本是使用 xlwings Excel写入操作,ImageGrab 剪贴板
#路径 data_path = "xxx/" filename = data_path+"复制文件格式例子06.xlsx" create_save_img(filename,'Sheet1',data_path+'Excel复制成图片的例子.png')
复制文件格式例子06.xlsx 文件内容如下:

最终图片如下:
结束。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)