跳至頁尾內容
使用 IRONXL 進行 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,您可以透過將 Unmerge 方法套用至指定的儲存格區域(例如worksheet.Unmerge('A1:B2')來使用 Python 取消 Excel 中的儲存格合併。

使用 IronXL 融合細胞涉及哪些步驟?

若要使用 IronXL 合併儲存格,請先安裝該程式庫,載入您的 Excel 工作簿,選取工作表,然後將合併功能套用至要合併的特定儲存格區域。

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擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。