Cómo combinar y descombinar celdas en Excel

How to Merge and Unmerge Cells

This article was translated from English: Does it need improvement?
Translated
View the article in English

Merging cells refers to the process of combining two or more adjacent cells into a single larger cell. Unmerging cells, on the other hand, is the opposite process where a merged cell is divided back into its original individual cells. This feature allows for flexibility, consistent alignment, and better data analysis.

Quickstart: Merge a Range of Cells with a Single Call

In just a few lines, you can load a workbook, merge a specified cell range using IronXL’s Merge method, and save the file. It’s designed for developers to get started blending cells effortlessly without Excel Interop.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    var ws = WorkBook.Load("file.xlsx").DefaultWorkSheet; ws.Merge("B3:D3"); ws.SaveAs("merged.xlsx");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer

Merge Cells Example

The Merge method can be utilized to merge a range of cells. This process combines the cells without erasing any existing values or data, though only the value of the first cell in the merged region will be displayed. However, the values of the merged cells remain accessible in IronXL.

Por favor notaMerging cells within the filter range can cause conflicts in the Excel file, requiring the execution of Excel repair to view the spreadsheet.

The code example below demonstrates how to merge a range of cells by specifying their addresses.

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-merge.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

var range = workSheet["B2:B5"];

// Merge cells B7 to E7
workSheet.Merge("B7:E7");

// Merge selected range
workSheet.Merge(range.RangeAddressAsString);

workBook.SaveAs("mergedCell.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

Private range = workSheet("B2:B5")

' Merge cells B7 to E7
workSheet.Merge("B7:E7")

' Merge selected range
workSheet.Merge(range.RangeAddressAsString)

workBook.SaveAs("mergedCell.xlsx")
$vbLabelText   $csharpLabel

Demonstration

Merge Cells Demonstration

Retrieve Merged Regions Example

Retrieving merged regions is a useful feature for identifying the displayed value in spreadsheet visualization software like Microsoft Excel. To obtain a list of merged regions, you can utilize the GetMergedRegions method.

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-retrieve-merged-regions.cs
using IronXL;
using System.Collections.Generic;
using System;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply merge
workSheet.Merge("B4:C4");
workSheet.Merge("A1:A4");
workSheet.Merge("A6:D9");

// Retrieve merged regions
List<IronXL.Range> retrieveMergedRegions = workSheet.GetMergedRegions();

foreach (IronXL.Range mergedRegion in retrieveMergedRegions)
{
    Console.WriteLine(mergedRegion.RangeAddressAsString);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Unmerge Cells Example

Unmerging merged regions can be accomplished using two different approaches. The first and simplest method involves specifying the cell addresses, such as B3:B6, to unmerge.

Alternatively, you can also unmerge cells based on the index of the merged region. The merged regions are listed in chronological order. To do this, you can retrieve the merged regions first and pass the desired index to the Unmerge method.

Por favor notaThe cell address must correspond exactly to the merged region. It is not possible to unmerge portions of the merged region.

:path=/static-assets/excel/content-code-examples/how-to/csharp-excel-merge-cells-unmerge.cs
using IronXL;

WorkBook workBook = WorkBook.Load("mergedCell.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Unmerge the merged region of B7 to E7
workSheet.Unmerge("B7:E7");

workBook.SaveAs("unmergedCell.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("mergedCell.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Unmerge the merged region of B7 to E7
workSheet.Unmerge("B7:E7")

workBook.SaveAs("unmergedCell.xlsx")
$vbLabelText   $csharpLabel

Demonstration

Unmerge Cells Demonstration

Preguntas Frecuentes

¿Cómo puedo fusionar celdas en C# sin usar Excel Interop?

Puedes fusionar celdas en C# sin usar Excel Interop utilizando el método Merge de IronXL. Esto implica cargar un libro de trabajo, seleccionar la hoja de trabajo, especificar el rango y aplicar el método Merge para combinar las celdas.

¿Cómo puedo deshacer la fusión de celdas en una aplicación de C#?

Para deshacer la fusión de celdas en una aplicación de C# usando IronXL, puedes usar el método Unmerge. Especifica la dirección del rango o el índice de la región fusionada para revertir el proceso de fusión.

¿Cuál es el proceso para comenzar a usar IronXL para operaciones en Excel?

Para comenzar a usar IronXL para operaciones en Excel, descarga la biblioteca de NuGet, carga o crea una hoja de cálculo y utiliza métodos como Merge y Unmerge para realizar operaciones de celdas programáticamente.

¿Puedo recuperar una lista de regiones fusionadas en una hoja de cálculo?

Sí, puedes recuperar una lista de regiones fusionadas en una hoja de cálculo utilizando el método GetMergedRegions de IronXL. Esto es útil para identificar qué celdas están fusionadas en tu hoja de trabajo.

¿Es posible gestionar hojas de cálculo de Excel sin instalar Microsoft Excel?

Sí, IronXL te permite gestionar hojas de cálculo de Excel, incluyendo la fusión y desfusión de celdas, programáticamente sin necesidad de tener Microsoft Excel instalado en tu sistema.

¿Qué debería considerar al fusionar celdas dentro de un rango de filtro?

Fusionar celdas dentro de un rango de filtro puede provocar conflictos en archivos de Excel, lo que puede requerir el uso de herramientas de reparación de Excel para ver correctamente la hoja de cálculo.

¿El método Merge borra datos de las celdas?

No, el método Merge no borra datos. Combina celdas mostrando solo el valor de la primera celda, pero todos los valores de las celdas permanecen accesibles.

¿Cómo puedo visualizar el proceso de fusión y desfusión en IronXL?

IronXL proporciona ejemplos de código y demostraciones que muestran cómo ejecutar procesos de fusión y desfusión. Estos ejemplos ayudan a visualizar cómo manipular archivos de Excel programáticamente.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 1,686,155 | Versión: 2025.11 recién lanzado