Excel工作簿作為一款功能強大的數據處理與分析工具,被廣泛應用於各種領域,不僅能夠方便地組織和計算數據,還支持用户創建豐富多彩的圖表,直觀展示數據背後的洞察與趨勢。然而,在報告編制、網頁內容製作或分享數據分析成果時,直接嵌入整個Excel文件往往不夠便捷,且可能受限於接收者的軟件兼容性問題。而將Excel文件中的圖表保存為圖片格式(如PNG、JPEG等)則可以解決這些問題,不僅能確保圖表的顯示一致性跨平台,便於插入到PPT、文檔或網頁中,還能有效降低文件大小,加速在線傳輸與加載速度。本文將詳細介紹如何利用Python自動化實現從Excel文件中提取圖表並保存為圖片。
- 用Python將Excel文件中的圖表保存為圖片
- 用Python將Excel圖表工作表保存為圖片
本文所使用的方法基於Spire.XLS for Python,PyPI:pip install Spire.XLS。
申請免費License
用Python將Excel文件中的圖表保存為圖片
該庫中的Workbook.SaveChartAsImage()方法和Workbook.SaveChartAsEmfImage()方法能夠將圖片保存為圖片和EMF圖片流,之後我們再將圖片流保存到文件,即可實現提取圖表並保存為圖像的操作。
以下是操作步驟:
- 導入所需模塊。
- 創建
Workbook對象並使用Workbook.LoadFromFile()方法載入Excel文件。 - 遍歷文件中的工作表,使用
Workbook.Worksheets.get_Item()方法獲取工作表。 - 遍歷工作表中的圖表,使用
Workbook.SaveChartAsImage().Save()方法將圖表保存到圖片文件。 - 釋放資源。
代碼示例
from spire.xls import *
from spire.xls.common import *
# 創建Workbook實例
workbook = Workbook()
# 載入Excel文件
workbook.LoadFromFile("示例.xlsx")
# 遍歷文件中的工作表
for i in range(0, workbook.Worksheets.Count):
# 獲取工作表
worksheet = workbook.Worksheets.get_Item(i)
# 遍歷工作表中的圖表
for j in range(0, worksheet.Charts.Count):
# 將圖表保存為圖片
chartImage = workbook.SaveChartAsImage(worksheet, j).Save(f"output/charts/chart{i+1}_{j+1}.png")
workbook.Dispose()
保存結果
用Python將Excel圖表工作表保存為圖片
圖表工作表(Chart Sheet)是Excel工作簿中專門用於顯示圖表的一個獨立工作表類型,其中只包含一個圖表。我們可以使用Workbook.GetChartSheetByName()方法通過工作表名獲取指定圖表工作表,並使用Workbook.SaveChartAsImage(chartSheet: ChartSheet).Save()方法將其轉換為圖片並保存。以下是操作步驟:
- 導入所需模塊。
- 創建
Workbook對象並使用Workbook.LoadFromFile()方法載入Excel文件。 - 使用
Workbook.GetChartSheetByName()方法獲取指定圖表工作表。 - 使用
Workbook.SaveChartAsImage().Save()方法將圖表工作表保存為圖像。 - 釋放資源。
代碼示例
from spire.xls import *
from spire.xls.common import *
# 創建一個Workbook實例
workbook = Workbook()
# 加載一個Excel文件
workbook.LoadFromFile("示例.xlsx")
# 獲取一個圖表工作表
chartSheet = workbook.GetChartSheetByName("圖表一")
# 將圖表工作表保存為圖片
workbook.SaveChartAsImage(chartSheet).Save("output/charts/chartsheet.png")
workbook.Dispose()
結果
本文介紹瞭如何使用Python將Excel工作簿中的圖表批量保存為圖片。
更多Excel文件操作技巧請前往Spire.XLS for Python教程查看。