Como copiar células usando o IronXL

Como Copiar Células em C# com IronXL

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

O IronXL permite copiar células, intervalos, linhas ou colunas em planilhas do Excel usando um único método Copy que preserva toda formatação e estilo ao duplicar dados entre quaisquer locais ou planilhas.

O recurso "Copiar célula" duplica o conteúdo da célula e cola em outras células. Ele replica dados, fórmulas, formatação e outros atributos dentro da planilha. Whether creating spreadsheets from scratch or loading existing Excel files, the copy functionality is essential for efficient data manipulation.

Início Rápido: Copie uma Coluna ou Intervalo em Uma Linha

Copie intervalos inteiros — células únicas, linhas, colunas ou blocos — de uma planilha para outra usando uma chamada de método. A função Copy retém o estilo e a formatação enquanto torna a automação do Excel rápida e simples.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronXl.Excel
  2. Copie e execute este trecho de código.

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Como Copio uma Única Célula no Excel?

Para copiar o conteúdo de uma célula selecionada, use o método Copy. Passe o objeto planilha como o primeiro parâmetro e a posição inicial como o segundo parâmetro. The Copy method retains all styling including font and size, background patterns and colors, and borders and alignment.

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-single-cell.cs
using IronXL;

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

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet1"), "B3");

workBook.SaveAs("copySingleCell.xlsx");
using IronXL;

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

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet1"), "B3");

workBook.SaveAs("copySingleCell.xlsx");
using IronXL;

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

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet1"), "B3");

workBook.SaveAs("copySingleCell.xlsx");
$vbLabelText   $csharpLabel

Quais Formatações São Preservadas ao Copiar?

O método Copy preserva todas as propriedades da célula, incluindo:

  • valores e fórmulas Cell
  • Formatos de número (moeda, percentual, datas)
  • Estilo de fonte (tipo, tamanho, negrito, itálico, cor)
  • Bordas de célula e cores de fundo
  • Alinhamento de texto (horizontal e vertical)
  • Configurações de proteção de célula

Esta preservação abrangente garante que as células copiadas mantenham sua aparência e funcionalidade originais, semelhante ao uso de Ctrl+C e Ctrl+V no Microsoft Excel.

Planilha mostrando a célula A1 selecionada com seta apontando para a célula B3 contendo valor copiado, demonstrando a cópia de uma única célula

Por Que o Método de Cópia Exige Dois Parâmetros?

O método Copy requer dois parâmetros para controle preciso:

  1. Parâmetro de Planilha: Especifica a planilha de destino (mesma ou diferente dentro do livro de trabalho)
  2. Parâmetro de Endereço: Define a posição inicial da célula para conteúdo colado

Este design permite a cópia flexível dentro da mesma planilha ou em diferentes planilhas, ideal para a criação de relatórios de resumo ou consolidação de dados de várias fontes.

Quando Devo Usar Cópia de Célula Única vs Cópia de Intervalo?

Escolha cópia de célula única quando:

  • Duplicando valores individuais ou fórmulas
  • Copiando células de cabeçalho ou rótulos
  • Replicando resultados calculados específicos
  • Trabalhando com valores de resumo

Use a cópia de intervalo quando:

  • Mover tabelas de dados inteiras
  • Duplicar múltiplas células relacionadas
  • Copiar linhas ou colunas completas
  • Preservar relações de dados

Como Posso Copiar Múltiplas Células ou Intervalos?

Like the Clear method, Copy is available in the Range class, allowing execution on any range size. When selecting ranges, IronXL provides flexible copying options:

  • Copiar uma única célula (C10):

    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
    workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");
    $vbLabelText   $csharpLabel
  • Copiar uma coluna (A):

    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
    workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");
    $vbLabelText   $csharpLabel
  • Copiar uma linha (4):

    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
    workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");
    $vbLabelText   $csharpLabel
  • Copiar um intervalo bidimensional (D6:F8):

    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
    workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");
    $vbLabelText   $csharpLabel

ObserveO segundo parâmetro aceita um local de endereço que marca o ponto de partida da entrada de dados. Os dados copiados começarão a partir desse endereço e se espalharão para a direita e para baixo.

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-cell-range.cs
using IronXL;

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

// Copy a single cell(C10)
workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");

// Copy a column(A)
workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");

// Copy a row(4)
workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");

// Copy a two-dimensional range(D6:F8)
workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");

workBook.SaveAs("copyCellRange.xlsx");
using IronXL;

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

// Copy a single cell(C10)
workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");

// Copy a column(A)
workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");

// Copy a row(4)
workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");

// Copy a two-dimensional range(D6:F8)
workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");

workBook.SaveAs("copyCellRange.xlsx");
using IronXL;

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

// Copy a single cell(C10)
workSheet["C10"].Copy(workBook.GetWorkSheet("Sheet1"), "B13");

// Copy a column(A)
workSheet.GetColumn(0).Copy(workBook.GetWorkSheet("Sheet1"), "H1");

// Copy a row(4)
workSheet.GetRow(3).Copy(workBook.GetWorkSheet("Sheet1"), "A15");

// Copy a two-dimensional range(D6:F8)
workSheet["D6:F8"].Copy(workBook.GetWorkSheet("Sheet1"), "H17");

workBook.SaveAs("copyCellRange.xlsx");
$vbLabelText   $csharpLabel

O Que Acontece Quando o Intervalo de Destino É Muito Pequeno?

IronXL lida automaticamente com diferenças de tamanho:

  • O parâmetro de destino especifica apenas a célula inicial superior esquerda
  • Todo o intervalo de origem é copiado independentemente do tamanho do destino
  • Dados existentes na área de destino são sobrescritos
  • A operação de cópia se expande para acomodar todos os dados de origem

Por exemplo, copiar um intervalo 3x3 para a célula B1 preenche as células B1:D3, sobrescrevendo qualquer conteúdo existente.

Como Funcionam as Referências de Linhas e Colunas?

O IronXL usa indexação baseada em zero para linhas e colunas com os métodos GetRow() e GetColumn():

  • GetColumn(0) refere-se à coluna A
  • GetColumn(1) refere-se à coluna B
  • GetRow(0) refere-se à linha 1
  • GetRow(3) refere-se à linha 4

Esta indexação está alinhada com as convenções padrão de arrays C#.

Por Que Usar os Métodos GetColumn() e GetRow()?

Os métodos GetColumn() e GetRow() oferecem:

  • Desempenho: Mais eficiente para linhas ou colunas inteiras
  • Clareza: Torna a intenção do código mais clara
  • Flexibilidade: Retorna um objeto Range que suporta todas as operações de intervalo
  • Conveniência: Não é necessário calcular células finais para seleções completas

Esses métodos se destacam ao criar relatórios que exigem cópias de colunas completas ou ao duplicar modelos de linha.

Operações de cópia do Excel mostrando setas de intervalos de origem A1:F10 para células de destino com dados copiados destacados

Como Posso Copiar Células Entre Diferentes Planilhas?

O primeiro parâmetro aceita um objeto de planilha, permitindo copiar e colar entre diferentes planilhas. Passe um objeto de planilha diferente como o primeiro parâmetro. This functionality proves essential when managing multiple worksheets or creating summary sheets from detailed data.

ObserveNo exemplo a seguir, o primeiro parâmetro do método Copy é a planilha "Sheet2": workBook.GetWorksheet("Sheet2")

:path=/static-assets/excel/content-code-examples/how-to/copy-cells-copy-to-other-worksheet.cs
using IronXL;

WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Copy entire data range from Sheet1 to Sheet2
sheet1["A1:D10"].Copy(sheet2, "A1");

// Copy with formulas intact
sheet1["E1:E10"].Copy(sheet2, "F1");

// Copy formatting from template sheet
WorkSheet templateSheet = workBook.GetWorkSheet("Template");
templateSheet["A1:Z1"].Copy(sheet2, "A15");

workBook.SaveAs("crossSheetCopy.xlsx");
using IronXL;

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

// Copy cell content
workSheet["A1"].Copy(workBook.GetWorkSheet("Sheet2"), "B3");

workBook.SaveAs("copyAcrossWorksheet.xlsx");
using IronXL;

WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Copy entire data range from Sheet1 to Sheet2
sheet1["A1:D10"].Copy(sheet2, "A1");

// Copy with formulas intact
sheet1["E1:E10"].Copy(sheet2, "F1");

// Copy formatting from template sheet
WorkSheet templateSheet = workBook.GetWorkSheet("Template");
templateSheet["A1:Z1"].Copy(sheet2, "A15");

workBook.SaveAs("crossSheetCopy.xlsx");
$vbLabelText   $csharpLabel

Quais São os Cenários Comuns de Cópia Entre Planilhas?

A cópia entre planilhas frequentemente serve para estes cenários:

  1. Criando Folhas Resumo: Copiar métricas-chave das folhas de detalhe para dashboards
  2. Replicação de Modelos: Copiar modelos formatados para novas planilhas
  3. Consolidação de Dados: Reunir dados de planilhas departamentais para planilhas principais
  4. Geração de Relatórios: Copiar resultados filtrados para planilhas de relatórios separadas
  5. Operações de Backup: Duplicar dados críticos em planilhas de backup

When working with formulas that reference other cells, IronXL automatically adjusts relative references based on the new location while maintaining absolute references.

Quando Devo Copiar para uma Nova Planilha vs Existente?

Copie para uma nova planilha quando:

  • Criando relatórios periódicos (diários, semanais, mensais)
  • Isolando dados processados de dados brutos
  • Construindo planilhas de análise a partir de dados de origem
  • Gerando visualizações de dados específicas para o usuário

Copiar para uma planilha existente quando:

  • Adicionando dados a logs em andamento
  • Atualizando seções de painéis
  • Consolidando múltiplas fontes de dados
  • Mantendo registros históricos

For complex scenarios involving multiple sheets, consider using IronXL's ability to work with DataSets and DataTables for sophisticated data manipulation.

Como lidar com conflitos de nomes de planilhas?

Garanta o gerenciamento adequado das planilhas ao copiar entre planilhas:

// Check if worksheet exists before copying
if (workBook.GetWorkSheet("TargetSheet") == null)
{
    workBook.CreateWorkSheet("TargetSheet");
}

// Safe copy operation
WorkSheet targetSheet = workBook.GetWorkSheet("TargetSheet");
sourceSheet["A1:Z100"].Copy(targetSheet, "A1");
// Check if worksheet exists before copying
if (workBook.GetWorkSheet("TargetSheet") == null)
{
    workBook.CreateWorkSheet("TargetSheet");
}

// Safe copy operation
WorkSheet targetSheet = workBook.GetWorkSheet("TargetSheet");
sourceSheet["A1:Z100"].Copy(targetSheet, "A1");
$vbLabelText   $csharpLabel

Essa abordagem previne erros de tempo de execução e garante operações de cópia bem-sucedidas, especialmente importante ao automatizar processos do Excel em ambientes de produção.

Perguntas frequentes

Como faço para copiar uma única célula no Excel usando C#?

Com o IronXL, você pode copiar uma única célula usando o método Copy. Basta selecionar a célula que deseja copiar (por exemplo, workSheet["A1"]) e chamar o método Copy, passando a planilha de destino e o endereço da célula de destino como parâmetros. O IronXL preserva toda a formatação, incluindo fontes, cores, bordas e fórmulas, durante a operação de cópia.

Que formatação é preservada ao copiar células?

O método Copiar do IronXL preserva todas as propriedades das células, incluindo valores e fórmulas, formatos de número (moeda, porcentagem, datas), estilo da fonte (tipo, tamanho, negrito, itálico, cor), bordas e cores de fundo, alinhamento do texto (horizontal e vertical) e configurações de proteção. Isso garante que as células copiadas mantenham sua aparência e funcionalidade originais.

Posso copiar colunas ou intervalos inteiros de uma só vez?

Sim, o IronXL permite copiar colunas, linhas ou intervalos inteiros em uma única operação. Você pode usar métodos como GetColumn(0).Copy() para copiar uma coluna inteira ou selecionar um intervalo de células para copiar várias células de uma só vez. O método Copy funciona com qualquer tamanho de seleção, desde células individuais até planilhas inteiras.

Como faço para copiar células entre planilhas diferentes?

O IronXL facilita a cópia de células entre planilhas. Ao usar o método Copy, especifique a planilha de destino como o primeiro parâmetro (por exemplo, workBook.GetWorkSheet("Sheet2")) e o endereço da célula de destino como o segundo parâmetro. Isso permite copiar dados entre diferentes planilhas dentro da mesma pasta de trabalho.

Quais são os passos mínimos necessários para copiar células no Excel?

Com o IronXL, copiar células requer apenas 5 passos: 1) Baixe a biblioteca IronXL C#, 2) Carregue sua planilha Excel existente, 3) Selecione o intervalo, linha ou coluna que deseja copiar, 4) Invoque o método Copy no intervalo selecionado e 5) Passe uma planilha de destino e a posição para o método Copy. Toda a operação pode ser feita em uma única linha de código.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Pronto para começar?
Nuget Downloads 1,890,100 | Versão: 2026.3 acaba de ser lançado

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronXl.Excel
executar um exemplo Veja seus dados se transformarem em uma planilha.