Python實現(xiàn)將Excel中圖表形狀等內容導出為圖片
微軟 Excel 是一個功能強大的數(shù)據(jù)分析和可視化工具,能夠幫助用戶創(chuàng)建各種圖表、形狀以及其他交互元素。在某些情況下,我們需要將這些可視化元素轉換為圖片,以便在演示文稿、報告或其他文檔中使用。手動導出這些元素會比較繁瑣,尤其是在處理多個文件時。本文將探討如何使用 Python 自動化地從 Excel 中提取圖表、形狀和其他元素,并將其保存為圖片,主要涵蓋內容如下:
為什么將 Excel 中的圖表、形狀和其他元素導出為圖片?
將 Excel 中的圖表、形狀和其他元素轉換為圖片可以帶來很多好處,例如:
- 便于分享:圖片可以輕松嵌入電子郵件、演示文稿或其他文檔中,無需接收者安裝 Excel。
- 一致的格式:與可能在不同設備上呈現(xiàn)不同結果的 Excel 文件相比,圖片在各個環(huán)境中保持相同的外觀。
- 性能提升:靜態(tài)圖片的加載速度通??煊诮换ピ亍?/li>
- 增強安全性:圖片格式可以防止他人訪問或修改底層數(shù)據(jù),保護信息安全。
工具與設置
要在 Python 中將 Excel 中的圖表、形狀及其他元素保存為圖片,本文將使用 Spire.XLS for Python。該庫支持在Python中創(chuàng)建、操作和轉換Excel文件,同時無需依賴微軟Office 或其他軟件。
安裝Spire.XLS
Spire.XLS 提供了兩個版本,可以根據(jù)需求選擇合適的版本:
社區(qū)版:免費使用,但每個 .xls 文件限制為 200 行和 5 個工作表(.xlsx 文件沒有此限制)。
安裝命令:
pip install spire.xls.free
商業(yè)版:功能完備,但會添加水印。
安裝命令:
pip install spire.xls
安裝完成后,即可在Python應用程序中調用該庫的API。
Python 將 Excel 圖表導出為圖片
Excel 文件可以包含嵌入的圖表(位于工作表內的圖表)或圖表工作表(獨立圖表)。以下是使用 Python 導出這兩者為圖片的方法。
將圖表導出為圖片
要將 Excel 文件中嵌入的圖表保存或導出為圖片,參考以下步驟:
- 初始化 Workbook 類的對象,并使用 LoadFromFile() 方法加載 Excel 文件。
- 通過Workbook.Worksheets集合遍歷工作簿中的工作表。
- 通過Worksheet.Charts集合遍歷當前工作表中的圖表。
- 使用 Chart.SaveToImage() 方法將每個圖表保存為圖片對象。
- 將圖片對象保存為指定格式的圖片文件(例如,PNG、JPEG)。
實現(xiàn)代碼
from spire.xls import *
def save_charts_as_images(excel_file, output_directory):
"""
將指定的 Excel 文件中的所有圖表導出為圖片,并保存到指定的輸出目錄。
參數(shù):
excel_file (str): 包含圖表的 Excel 文件路徑。
output_directory (str): 圖片保存的目標目錄路徑。
"""
workbook = Workbook()
workbook.LoadFromFile(excel_file)
for sheet_index in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[sheet_index]
for i, chart in enumerate(sheet.Charts):
image = chart.SaveToImage()
image_path = f"{output_directory}/{sheet.Name}_圖表_{i}.png"
image.Save(image_path)
workbook.Dispose()
# 用法示例
save_charts_as_images("示例.xlsx", "輸出目錄")將圖表工作表導出為圖片
如果需要將Excel中的圖表工作表(獨立圖表)轉換為圖片,可以參考以下步驟:
- 初始化 Workbook 類的對象,并使用 LoadFromFile() 方法加載 Excel 文件。
- 通過Workbook.Chartsheets集合遍歷 Workbook 對象中的圖表工作表。
- 使用 Workbook 對象的 SaveChartAsImage() 方法將每個圖表工作表保存為圖片對象。
- 將圖片對象保存為指定格式的圖片文件(例如,PNG、JPEG)。
實現(xiàn)代碼
from spire.xls import *
def save_chart_sheets_as_images(excel_file, output_directory):
"""
將指定的 Excel 文件中的所有圖表工作表導出為圖片,并保存到指定的輸出目錄。
參數(shù):
excel_file (str): 包含圖表工作表的 Excel 文件路徑。
output_directory (str): 圖片保存的目標目錄路徑。
"""
workbook = Workbook()
workbook.LoadFromFile(excel_file)
for i, chart_sheet in enumerate(workbook.Chartsheets):
image = workbook.SaveChartAsImage(chart_sheet)
image_path = f"{output_directory}/圖表工作表_{i}.png"
image.Save(image_path)
workbook.Dispose()
# 用法示例
save_chart_sheets_as_images("示例.xlsx", "輸出目錄")Python 將 Excel 中的形狀和其他元素導出為圖片
除了圖片以外,你還可以將多種 Excel 元素,如幾何形狀、形狀組合、文本框、復選框、列表框、組合框和單選按鈕等,導出為圖片。具體步驟如下:
- 初始化 Workbook 類的對象,并使用 LoadFromFile() 方法加載 Excel 文件。
- 遍歷工作簿中的工作表。
- 遍歷當前工作表中的指定形狀或元素類型。
- 使用 SaveToImage() 方法將每個形狀或元素保存為圖片對象。
- 將圖片對象保存為指定格式的圖片文件(例如,PNG、JPEG)。
實現(xiàn)代碼
以下代碼展示了如何將Excel工作表中的幾何形狀導出為圖片:
from spire.xls import *
def save_geometric_shapes_as_images(excel_file, output_directory):
"""
將指定的 Excel 文件中的所有幾何形狀導出為圖片,并保存到指定的輸出目錄。
參數(shù):
excel_file (str): 包含幾何形狀的 Excel 文件路徑。
output_directory (str): 圖片保存的目標目錄路徑。
"""
workbook = Workbook()
workbook.LoadFromFile(excel_file)
for sheet_index in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[sheet_index]
for i, shape in enumerate(sheet.PrstGeomShapes):
image = shape.SaveToImage()
image_path = f"{output_directory}/{sheet.Name}_幾何形狀_{i}.png"
image.Save(image_path)
workbook.Dispose()
# 用法示例
save_geometric_shapes_as_images("示例.xlsx", "輸出目錄")以下代碼展示了如何將Excel 文件中的文本框保存為圖片:
from spire.xls import *
def save_textboxes_as_images(excel_file, output_directory):
"""
將指定的 Excel 文件中的所有文本框導出為圖片,并保存到指定的輸出目錄。
參數(shù):
excel_file (str): 包含文本框的 Excel 文件路徑。
output_directory (str): 圖片保存的目標目錄路徑。
"""
workbook = Workbook()
workbook.LoadFromFile(excel_file)
for sheet_index in range(workbook.Worksheets.Count):
sheet = workbook.Worksheets[sheet_index]
for i, shape in enumerate(sheet.TextBoxes):
image = shape.SaveToImage()
image_path = f"{output_directory}/{sheet.Name}_文本框_{i}.png"
image.Save(image_path)
workbook.Dispose()
# 用法示例
save_textboxes_as_images("示例.xlsx", "輸出目錄")
到此這篇關于Python實現(xiàn)將Excel中圖表形狀等內容導出為圖片的文章就介紹到這了,更多相關Python Excel內容導出為圖片內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
pytest+allure環(huán)境搭建+自動化實踐過程
這篇文章主要介紹了pytest+allure環(huán)境搭建+自動化實踐過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-06-06
django-crontab 定時執(zhí)行任務方法的實現(xiàn)
這篇文章主要介紹了django-crontab 定時執(zhí)行任務方法的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09
Python GUI編程之tkinter 關于 ttkbootstrap 的使用
ttkbootstrap 是一個基于 tkinter 的界面美化庫,使用這個工具可以開發(fā)出類似前端 bootstrap 風格的 tkinter 桌面程序,這篇文章主要介紹了Python GUI編程之tkinter 關于 ttkbootstrap 的使用詳解,需要的朋友可以參考下2022-03-03
Python爬蟲數(shù)據(jù)的分類及json數(shù)據(jù)使用小結
這篇文章主要介紹了Python爬蟲數(shù)據(jù)的分類及json數(shù)據(jù)使用小結,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-03-03
torch.utils.data.DataLoader與迭代器轉換操作
這篇文章主要介紹了torch.utils.data.DataLoader與迭代器轉換操作,文章內容接受非常詳細,對正在學習或工作的你有一定的幫助,需要的朋友可以參考一下2022-02-02

