python 将excel获取的图表直接写入WORD,修改为上下型环绕
本帖最后由 ymhld 于 2020-5-21 16:50 编辑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 = False #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'):# '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))
#myDocument.add_picture(image, width=Inches(6.0))
excel.Quit()
myDocument.save('out.docx')
问题来了:
以上能把生成out.docx,把找到的图放到WORD中,但是方式是以图的形式存到WORD中的,有没有把shape.copy()获取的图形即chart的形式存在的直接存到WORD中,这样还可以编辑
另外,加入的图形是嵌入型的,打开word,成了一条线,能不能变为上下型文字环绕的图片 不懂,帮顶,喜欢excel 深爱我的女孩 发表于 2020-5-20 15:15
不懂,帮顶,喜欢excel
谢谢,共同学习,pandas excel python 组合更强大 好东西,学习了 学习了,正在学python 打包成EXE啥 学习了,正在学python
学习了,正在学python s466692282 发表于 2020-5-20 16:10
打包成EXE啥
这也要exe版的?没啥用吧
页:
[1]
2