2012-06-26 95 views
0

伙计们, 有一个Excel文档,需要每周更新......只是,需要更新一些细胞,这是完全可行的通过:http://www.python-excel.org/蟒蛇/ Excel单元格 - > png格式

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

想法,想法?

谢谢!

回答

1

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

如果您可以使用Excel,则可以编写一个将图表导出为PDF文件的宏。例如:

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

您可以使用COM extensions将现有图表导出为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') 

有用的参考资料: