En este artículo, aprenderá cómo combinar o descombinar celdas de Excel en una hoja de trabajo. En general, la combinación de celdas se refiere a una o más celdas unidas para formar una celda grande. Sin embargo, las celdas adyacentes se pueden combinar vertical u horizontalmente. Mientras que convertir una celda grande en varias celdas se conoce como deshacer o dividir celdas en la hoja de cálculo de Excel. Exploremos los siguientes casos de uso:

Combinar celdas de Excel en la hoja de trabajo con C#

Puede fusionar fácilmente celdas en la hoja de cálculo de Excel con Aspose.Cells for .NET API usando C#. En este ejemplo, crearemos una nueva hoja de cálculo de Excel desde cero y luego fusionaremos algunas celdas siguiendo los pasos a continuación:

  1. Crear un objeto Workbook
  2. Obtener primer trabajo
  3. Merge celdas específicas
  4. Poner valor en celda combinada
  5. Aplicar estilos en la celda.
  6. Guardar la hoja de trabajo de Excel de salida

El siguiente fragmento de código muestra cómo combinar celdas en una hoja de cálculo de Excel con C#:

// Crear un Workbook.
Workbook wbk = new Workbook();

// Cree una hoja de trabajo y obtenga la primera hoja.
Worksheet worksheet = wbk.Worksheets[0];

// Cree un objeto Celdas para recuperar todas las celdas.
Cells cells = worksheet.Cells;

// Combinar algunas celdas (C6:E7) en una sola celda C6.
cells.Merge(5, 2, 2, 3);

// Ingrese datos en C6 Cell.
worksheet.Cells[5, 2].PutValue("This is my value");

// Cree un objeto de estilo para obtener el estilo de la celda C6.
Style style = worksheet.Cells[5, 2].GetStyle();

// Crear un objeto de fuente
Font font = style.Font;

// Establezca el nombre.
font.Name = "Times New Roman";

// Establezca el tamaño de fuente.
font.Size = 18;

// Establecer el color de la fuente
font.Color = System.Drawing.Color.Blue;

// Negrita el texto
font.IsBold = true;

// Hazlo en cursiva
font.IsItalic = true;

// Establezca el color de fondo de la celda C6 en rojo
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;

// Aplicar el estilo a la celda C6.
cells[5, 2].SetStyle(style);

// Guarde el Workbook.
wbk.Save(dataDir + "MergeCells.xlsx");

El archivo de salida generado a partir de este fragmento de código contendrá celdas combinadas como en la siguiente captura de pantalla:

Combinar células

Descombinar celdas de Excel en la hoja de trabajo con C#

Hemos aprendido cómo combinar celdas en un archivo de Excel. Llevemos este proceso un paso más allá. Aquí consideraremos separar celdas en la hoja de cálculo de Excel siguiendo los pasos a continuación:

  1. Cargar archivo Excel fuente
  2. Cree el objeto Worksheet y acceda a la primera hoja
  3. Unmerge las celdas
  4. Guardar archivo de salida

El fragmento de código a continuación se basa en estos pasos y muestra cómo separar celdas en un archivo de Excel con C#:

// Abra el archivo de Excel.
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");

// Cree una hoja de trabajo y obtenga la primera hoja.
Worksheet worksheet = wbk.Worksheets[0];

// Cree un objeto Celdas para recuperar todas las celdas.
Cells cells = worksheet.Cells;

// Separar las celdas.
cells.UnMerge(5, 2, 2, 3);

// Guarda el archivo.
wbk.Save(dataDir + "UnmergeCells.xlsx");

La siguiente imagen muestra cómo se ven las celdas no fusionadas cuando ejecuta el código anterior en su entorno:

Separar celdas

Combinar un rango de celdas de Excel en una hoja de trabajo con C#

A veces hay varias celdas especificadas en diferentes rangos de celdas. Es posible que desee combinar un rango específico de celdas en la hoja de Excel. En tales escenarios, siga los pasos que se enumeran a continuación:

  1. Crear un objeto Workbook
  2. Acceda a la primera Worksheet
  3. Datos de entrada en una celda
  4. Crear y Merge el Rango
  5. Guardar archivo de Excel de salida

El fragmento de código a continuación muestra cómo fusionar un rango de celdas en una celda más grande en un archivo de Excel usando C#:

// Crear un Workbook
Workbook workbook = new Workbook();

// Accede a la primera hoja de trabajo
Worksheet worksheet = workbook.Worksheets[0];

// Ingrese datos en C6 Cell.
worksheet.Cells[0, 0].PutValue("Merge Range");

// crear un rango
Range range = worksheet.Cells.CreateRange("A1:D4");

// Combinar rango en una sola celda
range.Merge();

// Guardar el Workbook
workbook.Save(dataDir + "Merge_Range.xlsx");

Separar un rango de celdas de Excel en la hoja de trabajo con C#

Hemos explorado la combinación de un rango de celdas en Excel en el ejemplo anterior. Pasemos a deshacer la combinación de las celdas combinadas siguiendo los pasos a continuación:

  1. Fuente de carga Workbook
  2. Acceder a una Worksheet específica
  3. Crear un objeto Range
  4. Llamar al método UnMerge
  5. Guardar archivo de salida de Excel

El fragmento de código a continuación sigue estos pasos y muestra cómo separar un rango de celdas en una hoja de cálculo de Excel usando C#:

// Crear un Workbook
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Accede a la primera hoja de trabajo
Worksheet worksheet = workbook.Worksheets[0];

// crear un rango
Range range = worksheet.Cells.CreateRange("A1:D4");

// Descombinar rango
range.UnMerge();

// Guardar el Workbook
workbook.Save(dataDir + "UnmergeRange.xlsx");

Combinar celdas de Excel del rango con nombre en la hoja de trabajo con C#

A veces, los archivos de Excel contienen varios rangos con nombre porque es fácil identificarlos y manipularlos en consecuencia. Por lo tanto, también puede fusionar cualquier rango con nombre especificando su nombre. Como resultado, todas las celdas en ese rango con nombre se fusionarán en una celda más grande. Tienes que seguir estos pasos:

  1. Cargar origen Excel Workbook
  2. Acceda a la Worksheet que contiene el rango con nombre
  3. Definir y aplicar estilo
  4. Merge Rango con nombre
  5. Guardar archivo de salida

El fragmento de código a continuación explica cómo fusionar celdas en un rango con nombre en C#:

// Cargar un Workbook
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Accede a la primera hoja de trabajo
Worksheet worksheet = workbook.Worksheets[0];

// Especificar un rango
Range range = worksheet.Cells.CreateRange("A1:D4");


range.Name = "Named_Range";

// Consigue el rango.
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");

// Defina un objeto de estilo.
Style style = workbook.CreateStyle();

// Establecer la alineación.
style.HorizontalAlignment = TextAlignmentType.Center;

// Cree un objeto StyleFlag.
StyleFlag flag = new StyleFlag();
// Active el atributo de estilo relativo.
flag.HorizontalAlignment = true;

// Aplicar el estilo al rango.
range1.ApplyStyle(style, flag);

// Ingrese datos en el rango.
range1[0, 0].PutValue("Aspose");

// Combinar rango
range.Merge();

// Guardar el Workbook
workbook.Save(dataDir + "Merge_NamedRange.xlsx");

El resultado del fragmento de código anterior será el mismo que el de la siguiente imagen:

Fusionar rango con nombre

Conclusión

Fusionar o separar celdas en libros y hojas de cálculo de Excel es una característica importante y útil. Hemos recopilado diferentes casos de uso posibles en este artículo junto con todos los pasos e imágenes. Ahora puede seguir fácilmente estos pasos y fusionar o separar celdas, rangos o rangos con nombre en archivos de Excel. En caso de cualquier consulta o inquietud, puede comunicarse con nosotros a través del Foro de soporte gratuito.

Ver también