python/Excel cell -> PNG



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

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

想法

,想法?

谢谢!

您可以使用 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:TESTWorkbookWithAChart.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:TESTMyExportedChart.png') 

有用的参考资料:

  • 客户端 COM 快速入门
  • Win32COM 文档

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

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

Sheets("Sheet1").ChartObjects("Chart Name").Chart.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:="C:folderfilename.pdf", _
    Quality:=xlQualityStandard, _
    OpenAfterPublish:=False

最新更新