Python實現(xiàn)將Excel中圖表形狀等內(nèi)容導出為圖片
微軟 Excel 是一個功能強大的數(shù)據(jù)分析和可視化工具,能夠幫助用戶創(chuàng)建各種圖表、形狀以及其他交互元素。在某些情況下,我們需要將這些可視化元素轉(zhuǎn)換為圖片,以便在演示文稿、報告或其他文檔中使用。手動導出這些元素會比較繁瑣,尤其是在處理多個文件時。本文將探討如何使用 Python 自動化地從 Excel 中提取圖表、形狀和其他元素,并將其保存為圖片,主要涵蓋內(nèi)容如下:
為什么將 Excel 中的圖表、形狀和其他元素導出為圖片?
將 Excel 中的圖表、形狀和其他元素轉(zhuǎn)換為圖片可以帶來很多好處,例如:
- 便于分享:圖片可以輕松嵌入電子郵件、演示文稿或其他文檔中,無需接收者安裝 Excel。
- 一致的格式:與可能在不同設備上呈現(xiàn)不同結(jié)果的 Excel 文件相比,圖片在各個環(huán)境中保持相同的外觀。
- 性能提升:靜態(tài)圖片的加載速度通??煊诮换ピ?。
- 增強安全性:圖片格式可以防止他人訪問或修改底層數(shù)據(jù),保護信息安全。
工具與設置
要在 Python 中將 Excel 中的圖表、形狀及其他元素保存為圖片,本文將使用 Spire.XLS for Python。該庫支持在Python中創(chuàng)建、操作和轉(zhuǎn)換Excel文件,同時無需依賴微軟Office 或其他軟件。
安裝Spire.XLS
Spire.XLS 提供了兩個版本,可以根據(jù)需求選擇合適的版本:
社區(qū)版:免費使用,但每個 .xls 文件限制為 200 行和 5 個工作表(.xlsx 文件沒有此限制)。
安裝命令:
pip install spire.xls.free
商業(yè)版:功能完備,但會添加水印。
安裝命令:
pip install spire.xls
安裝完成后,即可在Python應用程序中調(diào)用該庫的API。
Python 將 Excel 圖表導出為圖片
Excel 文件可以包含嵌入的圖表(位于工作表內(nèi)的圖表)或圖表工作表(獨立圖表)。以下是使用 Python 導出這兩者為圖片的方法。
將圖表導出為圖片
要將 Excel 文件中嵌入的圖表保存或?qū)С鰹閳D片,參考以下步驟:
- 初始化 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中的圖表工作表(獨立圖表)轉(zhuǎn)換為圖片,可以參考以下步驟:
- 初始化 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 文件中的所有文本框?qū)С鰹閳D片,并保存到指定的輸出目錄。 參數(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中圖表形狀等內(nèi)容導出為圖片的文章就介紹到這了,更多相關Python Excel內(nèi)容導出為圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用Python爬蟲庫BeautifulSoup遍歷文檔樹并對標簽進行操作詳解
今天為大家介紹下Python爬蟲庫BeautifulSoup遍歷文檔樹并對標簽進行操作的詳細方法與函數(shù)2020-01-01你知道怎么改進Python 二分法和牛頓迭代法求算術平方根嗎
這篇文章主要介紹了Python編程實現(xiàn)二分法和牛頓迭代法求平方根代碼的改進,具有一定參考價值,需要的朋友可以了解下,希望能夠給你帶來幫助2021-08-08Python命令行參數(shù)解析之a(chǎn)rgparse模塊詳解
這篇文章主要介紹了Python命令行參數(shù)解析之a(chǎn)rgparse模塊詳解,argparse?是?Python?的一個標準庫,用于命令行參數(shù)的解析,這意味著我們無需在代碼中手動為變量賦值,而是可以直接在命令行中向程序傳遞相應的參數(shù),再由變量去讀取這些參數(shù),需要的朋友可以參考下2023-08-08python Pandas高級功能之數(shù)據(jù)透視表和字符串操作
Pandas是Python中用于數(shù)據(jù)處理和分析的強大庫,這篇文章將深入探討Pandas庫的高級功能:數(shù)據(jù)透視表和字符串操作,需要的朋友可以參考下2023-07-07