python 操作excel表格中图形到word

在excel 中 图形为chart **的形式存在,图像以picture **的形式存在,则只取shape名称为chart的导入到WORD,使用docx 模块写入WORD

需要导入from PIL import ImageGrab, Image 用 pip pillow安装

from PIL import ImageGrab, Image    #pip pillow
import docx
from docx.shared import Inches
from docx import Document
import time
import win32com.client as win32
import os


myDocument = Document()
chartlocation = ['N20:Z50', 'A20:M50',  'A53:M83',
                 'N53:Z83', 'A86:M116', 'N86:Z116', 'A119:M149']
# 循环处理每个截图区域


# 能把所有图片按原图象素导出来
excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = True  #可视化
excel.DisplayAlerts = False  #是否显示警告
workbook = excel.Workbooks.Open(os.path.join(os.getcwd(),'2020年公司经营对比表.xlsx'))
for sheet in workbook.Worksheets:
    if sheet.Name=='集团合计':
        for i, shape in enumerate(sheet.Shapes):
            print(sheet.Name,shape.Name)
            if shape.Name.startswith('Chart 7'):  # 'Picture'为图,Chart 为图形
                shape.Copy()
                image = ImageGrab.grabclipboard()
                image.save('temp{}.jpg'.format(i+1), 'jpeg')
                #
                #
                time.sleep(1.5)

                #print(type(image))
                myDocument.add_paragraph('第{}张图'.format(i+1))
                myDocument.add_picture('temp{}.jpg'.format(i+1), width=Inches(6.0))
            
excel.Quit()
myDocument.save('out.docx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值