Neste artigo, você aprenderá sobre como mesclar ou desfazer a mesclagem de células do Excel em uma planilha em C#. Geralmente, mesclar células refere-se a uma ou mais células unidas para formar uma célula grande. No entanto, as células adjacentes podem ser mescladas verticalmente ou horizontalmente. Considerando que, converter uma célula grande em várias células é conhecido como desunir ou dividir células na planilha do Excel. Vamos explorar os seguintes casos de uso:

Mesclar células do Excel na planilha com C#

Você pode facilmente mesclar células na planilha do Excel com a API Aspose.Cells for .NET usando C#. Neste exemplo, criaremos uma nova planilha do Excel do zero e, em seguida, mesclaremos algumas células seguindo as etapas abaixo:

  1. Criar um objeto Pasta de trabalho
  2. Obter o primeiro Worskeet
  3. Mesclar células específicas
  4. Colocar valor na célula mesclada
  5. Aplicar estilos na célula
  6. Salvar planilha do Excel de saída

O trecho de código abaixo mostra como mesclar células na planilha do Excel com C#:

// Crie uma pasta de trabalho.
Workbook wbk = new Workbook();

// Crie uma planilha e obtenha a primeira planilha.
Worksheet worksheet = wbk.Worksheets[0];

// Crie um objeto Cells para buscar todas as células.
Cells cells = worksheet.Cells;

// Mesclar algumas células (C6:E7) em uma única célula C6.
cells.Merge(5, 2, 2, 3);

// Dados de entrada na célula C6.
worksheet.Cells[5, 2].PutValue("This is my value");

// Crie um objeto Style para buscar o Style of C6 Cell.
Style style = worksheet.Cells[5, 2].GetStyle();

// Criar um objeto Font
Font font = style.Font;

// Defina o nome.
font.Name = "Times New Roman";

// Defina o tamanho da fonte.
font.Size = 18;

// Defina a cor da fonte
font.Color = System.Drawing.Color.Blue;

// Negrito o texto
font.IsBold = true;

// Faça itálico
font.IsItalic = true;

// Defina a cor de fundo da célula C6 para vermelho
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;

// Aplique o estilo à célula C6.
cells[5, 2].SetStyle(style);

// Salve a pasta de trabalho.
wbk.Save(dataDir + "MergeCells.xlsx");

O arquivo de saída gerado a partir deste snippet de código conterá células mescladas como na captura de tela abaixo:

Mesclar células

Unmerge células do Excel na planilha com C#

Aprendemos como mesclar células no arquivo Excel. Vamos levar este processo mais um passo adiante. Aqui, consideraremos desfazer a mesclagem de células na planilha do Excel seguindo as etapas abaixo:

  1. Carregar arquivo Excel de origem
  2. Crie o objeto Worksheet e acesse a primeira planilha
  3. Unmerge as células
  4. Salvar arquivo de saída

O trecho de código abaixo é baseado nessas etapas e mostra como desfazer a mesclagem de células no arquivo do Excel com C#:

// Abra o arquivo excel.
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");

// Crie uma planilha e obtenha a primeira planilha.
Worksheet worksheet = wbk.Worksheets[0];

// Crie um objeto Cells para buscar todas as células.
Cells cells = worksheet.Cells;

// Desconecte as células.
cells.UnMerge(5, 2, 2, 3);

// Salve o arquivo.
wbk.Save(dataDir + "UnmergeCells.xlsx");

A imagem a seguir mostra a aparência das células não mescladas quando você executa o código acima em seu ambiente:

Desunir células

Mesclar um intervalo de células do Excel na planilha com C#

Às vezes, há várias células especificadas em diferentes intervalos de células. Você pode querer mesclar um intervalo específico de células na planilha do Excel. Nesses cenários, siga as etapas listadas abaixo:

  1. Criar um objeto Pasta de trabalho
  2. Acesse a primeira planilha
  3. Dados de entrada em uma célula
  4. Crie e Mesclar o intervalo
  5. Salvar arquivo excel de saída

O trecho de código abaixo mostra como mesclar o intervalo de células em uma célula maior no arquivo do Excel usando C#:

// Criar uma pasta de trabalho
Workbook workbook = new Workbook();

// Acesse a primeira planilha
Worksheet worksheet = workbook.Worksheets[0];

// Dados de entrada na célula C6.
worksheet.Cells[0, 0].PutValue("Merge Range");

// Criar um intervalo
Range range = worksheet.Cells.CreateRange("A1:D4");

// Mesclar intervalo em uma única célula
range.Merge();

// Salve a pasta de trabalho
workbook.Save(dataDir + "Merge_Range.xlsx");

Unmerge um intervalo de células do Excel na planilha com C#

Exploramos a mesclagem de um intervalo de células no Excel no exemplo anterior. Vamos prosseguir para desfazer a mesclagem das células mescladas seguindo as etapas abaixo:

  1. Carregar fonte Pasta de trabalho
  2. Acesse Planilha específica
  3. Crie um objeto Range
  4. Chame o método UnMerge
  5. Salvar arquivo Excel de saída

O trecho de código abaixo segue estas etapas e mostra como desfazer a mesclagem de um intervalo de células na planilha do Excel usando C#:

// Criar uma pasta de trabalho
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Acesse a primeira planilha
Worksheet worksheet = workbook.Worksheets[0];

// Criar um intervalo
Range range = worksheet.Cells.CreateRange("A1:D4");

// Desfazer mesclagem
range.UnMerge();

// Salve a pasta de trabalho
workbook.Save(dataDir + "UnmergeRange.xlsx");

Mesclar células do Excel de intervalo nomeado na planilha com C#

Às vezes, os arquivos do Excel contêm vários intervalos nomeados porque é fácil identificar e manipular de acordo. Portanto, você também pode mesclar qualquer intervalo nomeado especificando seu nome. Resultantly, todas as células nesse intervalo nomeado serão mescladas em uma célula maior. Você precisa seguir estes passos:

  1. Carregar fonte Excel Pasta de trabalho
  2. Acesse a Planilha contendo o intervalo nomeado
  3. Definir e aplicar estilo
  4. Mesclar Intervalo Nomeado
  5. Salvar arquivo de saída

O trecho de código abaixo explica como mesclar células em um intervalo nomeado em C#:

// Carregar uma pasta de trabalho
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Acesse a primeira planilha
Worksheet worksheet = workbook.Worksheets[0];

// Especifique um intervalo
Range range = worksheet.Cells.CreateRange("A1:D4");


range.Name = "Named_Range";

// Obtenha o intervalo.
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");

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

// Defina o alinhamento.
style.HorizontalAlignment = TextAlignmentType.Center;

// Crie um objeto StyleFlag.
StyleFlag flag = new StyleFlag();
// Ative o atributo de estilo relativo.
flag.HorizontalAlignment = true;

// Aplique o estilo ao intervalo.
range1.ApplyStyle(style, flag);

// Dados de entrada no intervalo.
range1[0, 0].PutValue("Aspose");

// Mesclar intervalo
range.Merge();

// Salve a pasta de trabalho
workbook.Save(dataDir + "Merge_NamedRange.xlsx");

A saída do snippet de código acima será a mesma da imagem a seguir:

Mesclar intervalo nomeado

Conclusão

Mesclar ou desfazer a mesclagem de células em pastas de trabalho e planilhas do Excel é um recurso importante e útil. Compilamos diferentes casos de uso possíveis neste artigo, juntamente com todas as etapas e imagens. Agora você pode facilmente seguir estas etapas e mesclar ou desfazer a mesclagem de células, intervalos ou intervalos nomeados em arquivos do Excel. Em caso de qualquer dúvida ou preocupação, você pode entrar em contato conosco através do Fórum de Suporte Gratuito.

Veja também