Python 将Excel文件某个sheet中的内容 复制成一个图片
2022/7/26 14:25:10
本文主要是介绍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 文件内容如下:
最终图片如下:
结束。
这篇关于Python 将Excel文件某个sheet中的内容 复制成一个图片的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程