我一直試圖將圖表從Excel導出爲Python中的圖像文件(JPG或ING)。我正在看WIn32com。這是我迄今爲止所擁有的。使用Python將圖表從Excel導出爲圖像
import win32com.client as win32
excel = win32.gencache.EnsureDispatch("Excel.Application")
wb = excel.Workbooks.Open("<WORKSHEET NAME>")
r = wb.Sheets("<SHEET NAME>").Range("A1:J50")
# Here A1:J50 is the area over which cart is
r.CopyPicture()
這是我卡住的地方。我需要現在將所選範圍複製到一個文件。任何幫助或指向文檔的指針可以幫助我很多。
我已經仿照基於以下VBA腳本上面的代碼:
Sub Export_Range_Images()
' =========================================
' Code to save selected Excel Range as Image
' =========================================
Dim oRange As Range
Dim oCht As Chart
Dim oImg As Picture
Set oRange = Range("A1:B2")
Set oCht = Charts.Add
oRange.CopyPicture xlScreen, xlPicture
oCht.Paste
oCht.Export FileName:="C:\temp\SavedRange.jpg", Filtername:="JPG"
End Sub
代碼段來自:http://vbadud.blogspot.com/2010/06/how-to-save-excel-range-as-image-using.html
我的建議是打破與Excel您聯繫。爲什麼在Excel中製圖並使用Python?使用python讀取數據並使用matplotlib繪圖很容易。 – TJD
不幸的是,之前完成的工作迫使我堅持使用Excel。並且有多張圖表可以從多張圖表中繪製出來。 – Parikshit
爲什麼不直接導出圖表? 'Sheet'對象有一個'ChartObjects'集合:每個'ChartObject'都有一個包含'Chart'和'Export'方法。複製包含圖表的範圍,然後將其粘貼到空白圖表中似乎需要很長時間。 –