メモ
後で読む。
- 言語としての一貫性を重視したPython 3の進化 (http://www.atmarkit.co.jp/fcoding/articles/python3/02/python302a.html)
Excelのグラフを画像として保存
PythonでExcelのグラフをJPG画像として保存するコード片。調べるのに苦労したので張っておく。一度クリップボードに貼って取得するのだと思ったら、直接画像に保存できた。Exportメソッドの第2引数を"GIF"などに変更すればGIFなどでも保存可能。
# coding: cp932 import win32com.client def main(): xls_fpath = ur'C:\temp\foo.xls' xls_fname = u'foo.xls' sheet_name = u'Sheet1' jpg_fpath = ur'C:\temp\bar.jpg' xlApp = win32com.client.Dispatch('Excel.Application') xlApp.Workbooks.Open(xls_fpath) xlSheet = xlApp.Workbooks(xls_fname).Sheets(sheet_name) chart = xlSheet.ChartObjects(1) chart.Chart.Export(jpg_fpath, "JPG") xlApp.Workbooks(xls_fname).Close() if __name__ == '__main__': main()
補足として、IronPyhon + .NET Frameworkを使用して、.NETライブラリを使用する方法もできそうだが、やはりCPythonでできれば便利。もちろん、別途win32comモジュールをインストールする必要はある。そして、もちろんpy2exeなどでexe化してしまえば、Pythonやwin32comをインストールしていない環境でも使用可能。また、Excelファイル名やシート名に日本語も使用可能。