跳過到頁腳內容
使用 IRONXL FOR PYTHON

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

在電子表格處理領域, Excel是一款基礎工具,提供多種功能,滿足金融、工程、統計等領域的各種需求。 Excel 的眾多功能中,合併特定儲存格的功能經常被用來增強資料呈現和視覺化效果。 在瞬息萬變的資料管理環境中,有效率地組織和整合資料至關重要。 Excel憑藉其多功能性,成為許多專業人士的首選工具。 然而,當需要以程式設計方式在 Excel 中合併或取消合併儲存格時,Python 就成為了一個強大的幫手。 在本文中,我們將探討Python如何與IronXL等程式庫結合使用,簡化在新 Excel 檔案中合併儲存格的流程,使用戶能夠簡化其資料組織工作流程。

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

  1. 安裝 IronXL。
  2. 載入現有工作簿。
  3. 選擇 Excel 工作表。
  4. 使用合併功能合併特定儲存格。
  5. 使用"取消合併"功能取消 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. 該庫提供了一個易於使用的 API ,用於處理 Excel 電子表格。 無需複雜的設置,即可載入工作簿、選擇工作表、讀取儲存格值、應用程式樣式、取消合併儲存格以及執行各種操作。
  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 的用法,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 檔案中的特定儲存格

現在我們已經載入了工作簿並選擇了工作表,接下來讓我們定義要合併的特定儲存格範圍。 在我們選擇的工作表中,有一列包含國家名稱。 對於某些客戶而言,國家/地區值是相同的,例如"美國"。 針對這些特定情況,我們將在 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 範圍內的儲存格,可能是為了合併國家/地區列中與"美國"相關的資料。 同樣,第二行將 E9 到 E10 儲存格合併,得到另一組具有相同國家/地區值的資料條目。 合併完成後, Save方法來儲存對工作簿所做的變更。 此操作可確保合併後的儲存格保留在 Excel 檔案中。

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()方法從指定的工作表中檢索所有合併區域,並遍歷每個合併區域。 在循環中,它使用RangeAddressAsString將每個合併區域的地址列印為字串。 這樣便可清楚列出工作表中所有合併區域,有助於識別合併區域以進行資料分析、格式調整或在 Excel 檔案中執行目標操作等任務。

之前合併的儲存格為:

如何使用 Python 合併 Excel 檔案中的儲存格:圖 3 - 合併區域輸出

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

在 Excel 檔案中取消合併儲存格是指將先前合併的儲存格分割成單一儲存格的過程逆轉。 若要使用 IronXL 取消 Excel 檔案中的儲存格合併,可以使用"取消合併"方法。 您可以這樣做

# 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 中合併儲存格?

您可以使用 Python 與 IronXL 函式庫合併 Excel 中的儲存格,方法是載入工作簿與工作表,然後將 Merge 函式套用至所需的儲存格範圍,例如 worksheet.Merge('A1:B2')

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

是的,使用 IronXL,您可以在 Excel 中使用 Python 取消合併單元格,方法是對指定的單元格範圍套用 Unmerge 方法,例如 worksheet.Unmerge('A1:B2')

用 IronXL 合併單元涉及哪些步驟?

若要使用 IronXL 合併儲存格,請先安裝函式庫,載入您的 Excel 工作簿,選擇工作表,並將合併函式套用至您要合併的特定儲存格範圍。

IronXL 能否識別 Excel 表單中合併的儲存格區域?

是的,IronXL 可以使用 GetMergedRegions() 方法識別合併的單元格區域,該方法提供工作表內合併區域的清單。

IronXL 對於在 Python 中操作 Excel 檔案有什麼好處?

IronXL.Excel 提供的優點包括跨平台相容性、支援各種 Excel 格式、直覺式 API 用於讀寫資料、設定單元格樣式以及使用公式執行計算。

如何安裝 IronXL 以便在 Python 專案中使用?

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

IronXL 支援多種 Excel 檔案格式嗎?

是的,IronXL.Excel 支援多種 Excel 檔案格式,包括 XLSX、XLS、XLSM、XLTX、CSV 和 TSV,使其能滿足不同的資料管理需求。

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

是的,IronXL 提供免費的試用版,讓使用者在承諾使用授權選項之前,可以探索其特色與功能。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。