跳至頁尾內容
USING IRONXL FOR PYTHON

如何使用 Python 在 Excel 文件中合併單元格

在試算表操作的世界中,Excel作為一個基礎工具,提供了多種功能,以滿足財務、工程、統計及其他領域的各種需求。 在眾多功能中,合併 Excel 中特定儲存格的能力常被用來增強資料呈現和視覺化。 在資料管理的動態環境中,有效地組織和整合資料是至關重要的。 Excel 憑藉其多功能的特性,成為許多專業人士的首選工具。 然而,當涉及到程式化合併或分割 Excel 儲存格時,Python 成為一個強大的助手。 在本文中,我們將探討如何將Python與像IronXL這樣的程式庫結合,使合併新 Excel 文件儲存格的過程變得簡單,從而使使用者可以精簡其資料組織工作流程。

如何使用 Python 在 Excel 文件中合併儲存格

  1. 安裝 IronXL。
  2. 載入現有的 Workbook。
  3. 選擇 Excel 工作表。
  4. 使用 Merge 函式合併特定儲存格。
  5. 使用 Unmerge 函式在 Excel 中取消合併儲存格。

為什麼使用 IronXL?

IronXL 是由 Iron Software 開發和維護的一個強大的 Python 程式庫。 其主要目的在於提供一個直觀且有效的方法,讓在 Python 應用和網站中處理 Excel 文件(及其他試算表格式)變得輕鬆。 以下是 IronXL 的一些關鍵特性:

  1. IronXL 允許您從現有的 Excel 文件(XLSX, XLS, XLSM, XLTX, CSV 和 TSV)讀取資料。 您也可以程式化地生成的 Excel 文件及編輯現有文件。
  2. IronXL 可以無縫運行於不同平台,包括 Windows, macOS, Linux, Docker, Azure 和 AWS。 無論您是在本地機器開發還是部署到雲端,IronXL 都能滿足您的需求。
  3. 該程式庫提供了一個< a href="/python/excel/tutorials/how-to-read-excel-file/">易用的 API來處理 Excel 試算表。 您可以載入工作簿,選擇工作表,讀取單元格值,套用樣式</ a>,取消合併儲存格,以及在沒有複雜設置的情況下執行多種操作。
  4. IronXL 允許您通過設置字體屬性、背景樣式、邊框和對齊方式來設置儲存格樣式。 您可以將單元格值格式化為文字、數字、日期、貨幣、百分比等。
  5. 您可以使用 Excel 公式,每次編輯工作表時都會重新計算。 在儲存格範圍上進行計算,例如找出總和、最小值或最大值。

使用 IronXL 在 Excel 文件中合併儲存格

在開始之前,確保您已安裝了 IronXL。 您可以使用 pip 進行安裝:

pip install ironxl
pip install ironxl
SHELL

這將在我們的專案中安裝 IronXL。

載入 Excel 活頁簿

第一步是將 Excel 工作簿載入到記憶體中。 我們將載入以下 Excel 文件並在本教程中使用。

如何使用 Python 在 Excel 文件中合併儲存格: 圖 1 - Excel 文件輸入

以下程式碼將在專案中載入現有的工作簿。

from ironxl import *  # Import entire module from ironxl for Excel operations

# Set license key for IronXL (Replace the license key with an actual valid key)
License.LicenseKey = "IRONSUITE.XYZ.ABC.COM.15796-DEPLOYMENT.TRIAL-5X73V4.TRIAL.EXPIRES.27.MAY.2024"

# Load existing workbook
workbook = WorkBook.Load("test_excel.xlsx")
from ironxl import *  # Import entire module from ironxl for Excel operations

# Set license key for IronXL (Replace the license key with an actual valid key)
License.LicenseKey = "IRONSUITE.XYZ.ABC.COM.15796-DEPLOYMENT.TRIAL-5X73V4.TRIAL.EXPIRES.27.MAY.2024"

# Load existing workbook
workbook = WorkBook.Load("test_excel.xlsx")
PYTHON

上述 Python 程式碼演示了如何使用 IronXL,這是一個用於操作 Excel 文件的程式庫。 從 IronXL 導入必要的模組後,提供一個授權金鑰來驗證程式庫的使用。 您可以從 IronXL 試用授權中獲取免費授權金鑰。 然後使用 Load 方法開啟名為 "test_excel.xlsx" 的 Excel 工作簿。 該工作簿可能包含各種具有資料或格式的工作表。 通過將其載入到腳本中,您可以程式化地操作其內容。 這包括諸如讀取資料、修改單元格值或建立全新工作表的任務。 該程式庫支持各種文件格式,包括 XLSX, XLS, XLSM, XLTX, CSV 和 TSV,使其能夠無縫處理不同型別的 Excel 文件。

選擇 Excel 工作表

下一步是選擇我們要處理的工作表。 以下程式碼將指定 Excel 試算表。

# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
PYTHON

上述行選擇已載入 Excel 工作簿中索引為 0 的工作表,並將其分配給變數 worksheet。 在 Excel 中,工作表是在工作簿中供您整理和操控資料的單個標籤。 通過引用索引為 0 的工作表,您正在存取工作簿中的第一個工作表,因為 Python 中的索引通常從 0 開始。這使您能夠執行特定於該工作表的操作,例如讀取資料、修改單元格值或應用格式化。

在 Excel 文件中合併特定儲存格

現在我們已載入工作簿並選擇了工作表,讓我們定義要合併的特定儲存格範圍。 在我們選擇的工作表中,有一列包含國家/地區名稱。 對於某些客戶,國家/地區值是相同的,例如 "United States"。 我們將合併 Excel 中這些特定情況的儲存格。 以下程式碼將對特定範圍進行合併操作。

# Merge cells within specified ranges
worksheet.Merge("E5:E7")
worksheet.Merge("E9:E10")

# Save workbook to retain changes
workbook.Save()
# Merge cells within specified ranges
worksheet.Merge("E5:E7")
worksheet.Merge("E9:E10")

# Save workbook to retain changes
workbook.Save()
PYTHON

這些程式碼行使用 Merge 方法來合併選定工作表內的儲存格。 第一行合併 E5 到 E7 範圍內的儲存格,可能是為了整合國家/地區列中有關 "United States" 的資料。 類似地,第二行合併了從 E9 到 E10 的儲存格,這是為了另一組具有相同國家/地區值的資料項。 合併後,會調用 Save 方法以保存對工作簿所做的更改。 此操作確保合併的儲存格在 Excel 文件中保留。 using Merge 方法來合併一個範圍的儲存格。 此操作合併儲存格而不刪除任何現有的值或資料。 然而,只會顯示合併儲存格區域中第一個儲存格的值。 儘管如此,合併儲存格的值仍然可在 IronXL 中存取。

合併的儲存格可以在所給出的輸出中查看。

如何使用 Python 在 Excel 文件中合併儲存格: 圖 2 - Python 合併儲存格 Excel

獲取合併區域

在 Excel 中,合併區域是指已合併成單個儲存格的連續儲存格塊。 程式化獲取合併區域允許在工作表內識別並處理這些區域。 此資訊對於各種任務很有幫助,例如資料分析、格式調整或確保跨合併儲存格進行準確的資料操控。 以下程式碼將從 Excel 工作表中獲取合併區域。

# Print merged regions in the worksheet
print("Merged Regions are:")
retrieveMergedRegions = worksheet.GetMergedRegions()
for mergedRegion in retrieveMergedRegions:
    print(mergedRegion.RangeAddressAsString)
# Print merged regions in the worksheet
print("Merged Regions are:")
retrieveMergedRegions = worksheet.GetMergedRegions()
for mergedRegion in retrieveMergedRegions:
    print(mergedRegion.RangeAddressAsString)
PYTHON

上述程式碼優先列印一個標頭,指示合併區域相關輸出的開始。 接下來使用 GetMergedRegions() 方法從指定的工作表中檢索所有合併區域,並遍歷每個合併區域。 在迴圈中,使用 @@-- CODE-135 --@@ 將每個合併區域的地址作為字串列印出來。 這提供了工作表中所有合併區域的清單,有助於識別合併區域以進行資料分析、格式調整或在 Excel 文件中進行有針對性的操作。

先前合併的儲存格是:

如何使用 Python 在 Excel 文件中合併儲存格: 圖 3 - 合併區域輸出

在 Excel 文件中取消合併儲存格

在 Excel 文件中取消合併儲存格涉及逆轉合併過程,將先前合併的儲存格分離為個別儲存格。 要使用 IronXL 在 Excel 文件中取消合併儲存格,您可以使用 Unmerge 方法。 以下是如何做到的:

# Unmerge cells within specified ranges
worksheet.Unmerge("E5:E7")
worksheet.Unmerge("E9:E10")

# Save workbook to retain changes
workbook.Save()
# Unmerge cells within specified ranges
worksheet.Unmerge("E5:E7")
worksheet.Unmerge("E9:E10")

# Save workbook to retain changes
workbook.Save()
PYTHON

在上述程式碼片中,使用 Unmerge 方法取消合併指定範圍內的儲存格,特別是針對範圍 E5:E7 和 E9:E10。這個動作恢復了這些範圍內儲存格的個體性,允許對其內容進行獨立操作。 最後,調用 Save 方法以確保更改能反映並持續存在於 Excel 工作簿中。

如何使用 Python 在 Excel 文件中合併儲存格: 圖 4 - 取消合併結果文件

結論

總而言之,Python 與 IronXL 的結合使在 Excel 中合併儲存格的任務變得簡單,有助於增強資料的組織和視覺化。 IronXL 擁有豐富的功能、強大的功能和使用者友好的介面,使使用者可以從載入工作簿到程式化合併特定的儲存格範圍,無縫地操作 Excel 文件。 IronXL 提供免費試用進行探索,並有全面的授權選項,為尋求在 Python 應用中有效資料管理的專業人員提供了一種引人注目的解決方案。

常見問題

如何使用Python合併Excel中的儲存格?

使用IronXL程式庫,您可以在Python中合併Excel的儲存格:載入工作簿和工作表,然後對所需的儲存格範圍應用Merge功能,例如worksheet.Merge('A1:B2')

可以使用Python在Excel中取消合併儲存格嗎?

可以,使用IronXL,您可以在Python中通過對特定儲存格範圍應用Unmerge方法來取消合併儲存格,例如worksheet.Unmerge('A1:B2')

使用IronXL合併儲存格涉及哪些步驟?

要使用IronXL合併儲存格,首先安裝該程式庫,載入您的Excel工作簿,選擇工作表,並將Merge功能應用於您想要合併的特定儲存格範圍。

IronXL可以識別Excel表中的合併儲存格區域嗎?

是的,IronXL可以通過使用GetMergedRegions()方法來識別合併儲存格區域,該方法提供工作表中合併區域的列表。

IronXL為Python中的Excel文件操作提供了哪些好處?

IronXL提供了諸如跨平臺相容性、支持多種Excel格式、直觀的API來讀寫資料、設置儲存格樣式以及使用公式進行計算等好處。

如何在Python專案中安裝IronXL?

您可以使用pip命令在您的Python專案中安裝IronXL:pip install ironxl

IronXL支持多種Excel文件格式嗎?

是的,IronXL支持多種Excel文件格式,包括XLSX、XLS、XLSM、XLTX、CSV和TSV,使其在不同資料管理需求中具有多樣性。

我可以在購買授權之前試用IronXL嗎?

可以,IronXL提供免費試用,允許使用者在進行授權選擇之前探索其功能和能力。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話