皆さん、毎週更新する必要のあるExcelドキュメントがあります...更新する必要のあるセルはごくわずかです。これは、 http://www.python-excel.org/から完全に実行できます。
これらのセルが更新された後、Excel内にグラフが生成されます。このグラフをPython経由で.pngにエクスポートすることは可能ですか(つまり、セルA3〜B7をコピーして画像にエクスポートする)?
考え、アイデア?
ありがとう!
皆さん、毎週更新する必要のある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:\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')
参考文献:
これは実際にエクセルを使わないとできません。更新された情報でグラフを描画するには、Excel が必要です。
Excel を使用できる場合は、チャートを PDF ファイルにエクスポートするマクロを作成できます。このようなもの:
Sheets("Sheet1").ChartObjects("Chart Name").Chart.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="C:\folder\filename.pdf", _
Quality:=xlQualityStandard, _
OpenAfterPublish:=False