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

