Python Excel 高階教程:使用 Spire.XLS 提取數據源、調整表大小、移動和刪除圖表
在日常工作中,您是否遇到過這些挑戰:
- 需要分析圖表背后的原始數據卻無從下手?
- 圖表尺寸不合適遮擋了關鍵信息?
- 圖表位置不合理破壞了報告布局?
- 過時圖表占用空間影響工作簿整潔?
本文將使用強大的 Spire.XLS for Python 庫,通過具體場景演示如何通過 Spire.XLS 的表操作語句,高效解決提取數據源、調整表大小、移動和刪除圖表的實際操作。
準備工作
本教程將圍繞 Spire.XLS for Python 庫展開。作為一個完善的 Python 拓展庫,它提供的 API 允許我們使用純代碼對 Excel 文件進行各類操作,同時不依賴于諸如 Microsoft Excel、WPS Office 的外部軟件。
你可以通過以下 pip 命令將它們輕松安裝到 Windows 中。
pip install spire.xls
或者從 Spire.XLS for Python 下載 安裝文件,解壓縮后從“lib”文件夾中獲取 .whl 文件,再使用 pip 的 install 語句從 .whl 文件安裝,可以達到一樣的效果。
Spire.XLS for Python 官方在官方網站提供了詳細的教程文檔,如果還是不清楚如何安裝,你可以嘗試訪問 安裝指南并尋求幫助。
Python 提取 Excel 圖表的數據源
當銷售報告的原始數據分布在多個工作表中難以查找時,手動操作費時且易錯。使用 Spire.XLS for Python 可快速獲取數據源,它提供了 Chart.DataRange 屬性,使你能夠輕松訪問圖表所使用的單元格范圍,從而獲取其中的數據。
關鍵步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 通過 Workbook.Worksheets[index] 屬性獲取包含圖表的工作表。
- 使用 Worksheet.Charts[index] 屬性獲取圖表。
- 使用 Chart.DataRange 屬性獲取圖表的數據單元格范圍。
- 遍歷單元格范圍中的行和列,獲取每個單元格的數據。
from spire.xls import * from spire.xls.common import * # 創建 Workbook 對象 workbook = Workbook() # 加載 Excel 文件 workbook.LoadFromFile("Microsoft Excel 工作表.xlsx") # 獲取包含圖表的工作表 sheet = workbook.Worksheets[0] # 獲取圖表 chart = sheet.Charts[0] # 獲取圖表使用的數據單元格范圍 cellRange = chart.DataRange # 遍歷單元格范圍中的行和列 for i in range(len(cellRange.Rows)): for j in range(len(cellRange.Rows[i].Columns)): # 獲取每個單元格的數據 print(cellRange[i + 1, j + 1].Value + " ", end='') print("") workbook.Dispose()

(提取圖表的數據源)
Python 調整 Excel 圖表的大小
圖表尺寸過大遮擋摘要信息或過小導致數據標簽難以辨認?通過 Chart.Width 和 Chart.Height 屬性,Spire.XLS for Python 讓批量調整圖表尺寸變得簡單高效。
關鍵步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 通過 Workbook.Worksheets[index] 屬性獲取包含圖表的工作表。
- 使用 Worksheet.Charts[index] 屬性獲取圖表。
- 使用 Chart.Width 和 Chart.Height 屬性調整圖表的尺寸。
- 使用 Workbook.SaveToFile() 方法保存結果文件。
from spire.xls import * from spire.xls.common import * # 創建 Workbook 對象 workbook = Workbook() # 加載 Excel 文件 workbook.LoadFromFile("Microsoft Excel 工作表.xlsx") # 獲取包含圖表的工作表 sheet = workbook.Worksheets[0] # 獲取圖表 chart = sheet.Charts[0] # 調整圖表大小 chart.Width = 450 chart.Height = 300 # 保存結果文件 workbook.SaveToFile("調整圖表大小.xlsx", ExcelVersion.Version2016) workbook.Dispose()

(調整圖表大小)
Python 移動 Excel 圖表
當圖表遮擋關鍵數據或破壞整體布局時,特別是從模板生成的報告,Spire.XLS for Python 提供精準的定位解決方案。使用它提供的 Chart.LeftColumn、Chart.TopRow、Chart.RightColumn 和 Chart.BottomRow 屬性,你可以將圖表移動到新的位置。
關鍵步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 通過 Workbook.Worksheets[index] 屬性獲取包含圖表的工作表。
- 使用 Worksheet.Charts[index] 屬性獲取圖表。
- 使用 Chart.LeftColumn、Chart.TopRow、Chart.RightColumn 和 Chart.BottomRow 屬性設置圖表的新位置。
- 使用 Workbook.SaveToFile() 方法保存結果文件。
from spire.xls import * from spire.xls.common import * # 創建 Workbook 對象 workbook = Workbook() # 加載 Excel 文件 workbook.LoadFromFile("Microsoft Excel 工作表.xlsx") # 獲取包含圖表的工作表 sheet = workbook.Worksheets[0] # 獲取圖表 chart = sheet.Charts[0] # 設置圖表的新位置(起始列、起始行、結束列、結束行) chart.LeftColumn = 1 chart.TopRow = 8 chart.RightColumn = 8 chart.BottomRow = 24 # 保存結果文件 workbook.SaveToFile("移動圖表.xlsx", ExcelVersion.Version2016) workbook.Dispose()

(移動圖表)
Python 刪除 Excel 圖表
長期使用的模板積累過時圖表會導致文件臃腫、打開緩慢。Spire.XLS for Python 的 Chart.Remove() 方法可批量清理無用圖表,讓文件保持整潔。
關鍵步驟如下:
- 使用 Workbook.LoadFromFile() 方法加載 Excel 文件。
- 通過 Workbook.Worksheets[index] 屬性獲取包含圖表的工作表。
- 使用 Worksheet.Charts[index] 屬性獲取圖表。
- 使用 Chart.Remove() 方法刪除圖表。
- 使用 Workbook.SaveToFile() 方法保存結果文件。
from spire.xls import * from spire.xls.common import * # 創建 Workbook 對象 workbook = Workbook() # 加載 Excel 文件 workbook.LoadFromFile("Microsoft Excel 工作表.xlsx") # 獲取包含圖表的工作表 sheet = workbook.Worksheets[0] # 獲取圖表 chart = sheet.Charts[0] # 刪除圖表 chart.Remove() # 保存結果文件 workbook.SaveToFile("刪除圖表.xlsx", ExcelVersion.Version2016) workbook.Dispose()

(刪除圖表)
結語
通過掌握 Spire.XLS for Python 的圖表操作技術,您可以:
- 讓圖表數據提取時間顯著縮短
- 批量調整大量圖表尺寸只需單次運行
- 精準定位圖表位置避免手動拖拽誤差
- 智能清理過時圖表節省存儲空間
這些技能特別適用于定期生成報告、批量處理文檔和維護大型Excel模板等場景,讓您將精力集中在數據分析而非格式調整上。如需了解更多高級功能或在實際應用中遇到問題,請訪問 Spire.XLS for Python 中文教程 獲取詳細指導和技術支持。

浙公網安備 33010602011771號