import openpyxl
from openpyxl.chart import BarChart, Reference
from win32com.client import Dispatch
import pathlib
import os
class image(object):
def export_image(self, chartImgFilePath, chartImgSavePath):
"""
:param filePath: 读取的文件路径
:param savePath: 保存图片的路径
"""
try:
app = Dispatch("Excel.Application")
workbook = app.Workbooks.Open(Filename=chartImgFilePath)
app.DisplayAlerts = False
for i, sheet in enumerate(workbook.Worksheets):
for chartObject in sheet.ChartObjects():
chartObject.Chart.Export(chartImgSavePath + sheet.Name + ".png")
print('已导出:%s' % sheet.Name + ".png")
workbook.SaveAs(chartImgFilePath)
return True
except Exception as e:
print('执行错误:', e)
finally:
workbook.Close(SaveChanges=False)
app.Quit()
# workbook.Close(SaveChanges=False, Filename=chartImgFilePath)
if __name__ == '__main__':
chartImgFilePath = r'D:\python\lianxi\testReport\resultFile\chart\图表.xlsx'
chartImgSavePath = r'D:\python\lianxi\testReport\img\\'
image().export_image(chartImgFilePath, chartImgSavePath)
将excel中的图表,导出为图片
最新推荐文章于 2024-05-21 17:26:53 发布