2012-06-26 104 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') 

有用的參考資料: