1

伙计们,有一个需要每周更新的 excel 文档......只有几个单元格需要更新,这完全可以通过: http: //www.python-excel.org/

更新这些单元格后,会在 excel 中生成一个图表。是否可以通过python将此图导出为.png(即复制单元格A3-B7并导出为图像)?

想法,想法?

谢谢!

4

2 回答 2

2

您可以使用COM 扩展将现有图表导出到 PNG 。在导出之前,您必须确保图表已使用新数据进行了更新。

我发现这个Charts对象的讨论很有帮助: http: //msdn.microsoft.com/en-us/library/aa213725 (v=office.11​​).aspx

你会得到这样的东西(未经测试的代码):

from win32com.client import Dispatch
xlsApp = Dispatch("Excel.Application") 
xlsWB = xlsApp.Workbooks.Open(r'C:\TEST\WorkbookWithAChart.xlsx') 
xlsSheet = xlsWB.Sheets("Sheet 1") 
mychart = XlsSheet.Charts(1)  #'1' is the index of the chart object in the wb
mychart.Export(Filename=r'C:\TEST\MyExportedChart.png') 

有用的参考资料:

于 2012-06-26T21:40:52.517 回答
1

如果不实际使用 Excel,这将是不可能的。您需要 Excel 来绘制带有更新信息的图形。

如果您可以使用 Excel,您可以编写一个将图表导出为 PDF 文件的宏。像这样的东西:

Sheets("Sheet1").ChartObjects("Chart Name").Chart.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="C:\folder\filename.pdf", _
    Quality:=xlQualityStandard, _
    OpenAfterPublish:=False
于 2012-06-26T18:55:11.300 回答