Como escrever em arquivos do Excel no .NET com C#

Write Excel .NET Functions in C# with IronXL

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

Escreva dados do Excel em C# usando o IronXL, acessando planilhas, definindo valores de células com notação de colchetes simples e salvando as alterações. A biblioteca permite escrever em células e intervalos específicos, além de substituir valores programaticamente, sem a necessidade de código complexo.

Aplicações em C# frequentemente precisam atualizar arquivos e gravar novos dados em planilhas do Excel de forma programática. As funcionalidades do Excel .NET podem, por vezes, ser complexas, mas, utilizando a biblioteca IronXL, essa tarefa torna-se simples e permite trabalhar com planilhas do Excel em qualquer formato. Acesse células específicas diretamente e atribua valores personalizados com o mínimo de código. Quer esteja a criar novas folhas de cálculo ou a editar ficheiros Excel existentes , o IronXL oferece métodos intuitivos para todas as suas necessidades de automatização do Excel.

Início rápido: Escrever um valor em uma célula específica

Este exemplo mostra como escrever um valor em uma única célula usando o IronXL e salvar o arquivo Excel em apenas algumas linhas.

  1. Instale IronXL com o Gerenciador de Pacotes NuGet

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

    worksheet["A1"].Value = "Hello, IronXL!";
    workbook.SaveAs("output.xlsx");
  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
## Escreva instruções para Excel .NET
  • Baixe a biblioteca para Excel .NET
  • Escreva valores em células específicas.
  • Escreva valores estáticos em várias células.
  • Escreva valores dinâmicos no intervalo de células
  • Substitua os valores das células em uma linha, coluna, intervalo específico e muito mais.
How To Work related to Write Excel .NET Functions in C# with IronXL

Como faço para acessar arquivos do Excel?

Comece por aceder ao ficheiro Excel onde pretende escrever os dados. Abra o arquivo Excel em seu projeto e, em seguida, abra a planilha específica usando o seguinte código.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-load-file.cs
// Load Excel file in the project
WorkBook workBook = WorkBook.Load("path");
$vbLabelText   $csharpLabel

O comando acima abre o arquivo Excel especificado. Em seguida, acesse a planilha.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-get-sheet.cs
// Open Excel WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
$vbLabelText   $csharpLabel

A planilha do Excel abre em workSheet e você pode usá-la para inserir qualquer tipo de dado no arquivo do Excel. Saiba mais sobre como carregar arquivos do Excel e acessar planilhas de diferentes maneiras através dos exemplos no link. Para trabalhar com várias planilhas, consulte nosso guia sobre gerenciamento de planilhas, que aborda como adicionar, renomear e excluir planilhas programaticamente.

Nota: Não se esqueça de adicionar a referência a IronXL em seu projeto e importar a biblioteca usando using IronXL.


Como faço para inserir um valor em uma célula específica?

Você pode escrever em um arquivo do Excel usando vários métodos diferentes, mas a abordagem básica usa ExcelCell. Para isso, qualquer célula da planilha do Excel aberta pode ser acessada e um valor pode ser inserido nela da seguinte forma:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell.cs
workSheet["Cell Address"].Value="Assign the Value";
$vbLabelText   $csharpLabel

Aqui está um exemplo de como usar a função acima para escrever em uma célula do Excel em seu projeto C#.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Access A1 cell and write the value
workSheet["A1"].Value = "new value";

// Save changes
workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

Este código escreve new value na célula A1 da planilha Sheet1 no arquivo Excel sample.xlsx. Da mesma forma, você pode inserir valores em qualquer endereço de célula de um arquivo Excel. Para opções de formatação mais avançadas, como definir fontes e tamanhos de células ou aplicar cores e padrões de fundo , o IronXL oferece recursos de estilo abrangentes.

Observação: Não se esqueça de salvar o arquivo do Excel após inserir novos valores na planilha, conforme mostrado no exemplo acima.

Por que eu forçaria a atribuição de valores exatos?

Ao definir a propriedade Value, o IronXL tenta convertê-la para o tipo de valor correspondente. Às vezes, essa avaliação é indesejável, pois você deseja atribuir o valor exato à célula sem conversão. Para isso, atribua o valor como uma string. No IronXL, basta usar StringValue em vez de Value para obter o mesmo efeito.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
$vbLabelText   $csharpLabel

Como faço para escrever valores estáticos em um intervalo?

Você pode inserir novos valores em várias células, chamadas de intervalo, da seguinte forma:

// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
$vbLabelText   $csharpLabel

Dessa forma, você especifica o intervalo de células From a To onde os dados serão gravados. O código new value será escrito em todas as células dentro deste intervalo. Para entender melhor o recurso de intervalo do Excel em C# , confira os exemplos aqui.

Veja como escrever um intervalo na prática usando o exemplo abaixo.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range row wise and write new value
workSheet["B2:B9"].Value = "new value";

// Specify range column wise and write new value
workSheet["C3:C7"].Value = "new value";

// Save changes
workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

Este código escreve new value de B2 a C5 na planilha Sheet1 do arquivo Excel sample.xlsx. Utiliza valores estáticos para as células do Excel.


Como faço para escrever valores dinâmicos em um intervalo?

Você também pode adicionar valores dinâmicos a um intervalo, como mostrado abaixo. Isso é particularmente útil quando você precisa inserir dados de um banco de dados ou ao gerar relatórios. Você também pode explorar a importação e exportação como DataSet para operações de dados mais complexas.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-dynamic-value.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range in which we want to write the values
for (int i = 2; i <= 7; i++)
{
    // Write the Dynamic value in one row
    workSheet["B" + i].Value = "Value" + i;

    // Write the Dynamic value in another row
    workSheet["D" + i].Value = "Value" + i;
}

// Save changes
workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

O código acima insere valores dinâmicos nas colunas B de 2 a 7 no arquivo Excel sample.xlsx. Você pode ver o resultado do código em sample.xlsx.

Planilha mostrando dois intervalos destacados, B2:B7 e D2:D7, preenchidos com os valores de 2 a 7.

Como faço para substituir valores em células do Excel?

Usando o IronXL, você pode facilmente escrever um novo valor para substituir o valor antigo, usando a função Replace() da seguinte forma:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace.cs
workSheet.Replace("old value", "new value");
$vbLabelText   $csharpLabel

A função acima escreve new value sobrescrevendo o old value na planilha do Excel completa.

Como faço para substituir valores em uma linha específica?

Se você deseja inserir um novo valor apenas em uma linha específica, faça o seguinte:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-row.cs
workSheet.Rows[RowIndex].Replace("old value", "new value");
$vbLabelText   $csharpLabel

Isso sobrescreve new value com old value apenas no índice de linha especificado.

Como faço para substituir valores em uma coluna específica?

Da mesma forma, se você quiser escrever new value sobre old value em uma coluna específica, faça o seguinte:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-column.cs
workSheet.Columns[ColumnIndex].Replace("old value", "new Value");
$vbLabelText   $csharpLabel

O código acima escreve new value para substituir old value, mas apenas no índice de coluna especificado. O restante da folha de exercícios permanece o mesmo.

Como faço para substituir valores em um intervalo específico?

O IronXL também oferece uma maneira de escrever um new value substituindo o old value, apenas em um intervalo especificado. Isso é útil ao trabalhar com regiões de dados específicas ou quando você precisa atualizar valores em uma seção específica da sua planilha. Para operações de intervalo mais avançadas, consulte nosso guia sobre classificação de intervalos de células .

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-range.cs
workSheet["From Cell Address : To Cell Address"].Replace("old value", "new value");
$vbLabelText   $csharpLabel

Isso escreve new value sobre old value, apenas nas células dentro do intervalo especificado.

Veja o exemplo de como usar todas as funções acima para escrever novos valores e substituir os valores antigos em uma planilha do Excel.

Como seria um exemplo completo de substituição?

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-full.cs
using IronXL;

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

// Write new above old in complete WorkSheet
workSheet.Replace("old", "new");

// Write new above old just in row no 6 of WorkSheet
workSheet.Rows[5].Replace("old", "new");

// Write new above old just in column no 5 of WorkSheet
workSheet.Columns[4].Replace("old", "new");

// Write new above old just from A5 to H5 of WorkSheet
workSheet["A5:H5"].Replace("old", "new");

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

Para obter mais informações sobre como escrever aplicativos Excel .NET e muito mais, confira nosso tutorial completo sobre como abrir e gravar arquivos Excel em C# . Se você trabalha com diferentes formatos de arquivo, nosso guia sobre conversão de tipos de arquivo de planilha também pode ser útil.


Tutorial de Acesso Rápido

### Leia a referência da API.

Leia a documentação do IronXL, incluindo listas de todas as funções, recursos, namespaces, classes e enumerações disponíveis na biblioteca.

Leia a referência da API.
Documentation related to Tutorial de Acesso Rápido

Perguntas frequentes

Como faço para inserir um valor em uma célula específica de um arquivo Excel usando C#?

Com o IronXL, você pode escrever em uma célula específica simplesmente acessando-a com a notação de colchetes e definindo sua propriedade Value. Por exemplo: worksheet["A1"].Value = "Olá, IronXL!"; em seguida, salve a planilha com workbook.SaveAs("output.xlsx"). Essa abordagem direta elimina a necessidade de código complexo de interoperabilidade com o Excel.

Qual é o primeiro passo para escrever dados em um arquivo Excel programaticamente?

O primeiro passo é carregar seu arquivo Excel usando o método WorkBook.Load() do IronXL e, em seguida, acessar a planilha específica onde deseja inserir dados. O IronXL simplifica esse processo com métodos intuitivos que permitem abrir qualquer formato do Excel e começar a trabalhar imediatamente com células e intervalos.

Posso escrever dados em várias células ao mesmo tempo no Excel?

Sim, o IronXL suporta a escrita eficiente em múltiplas células. Você pode escrever valores estáticos em várias células específicas individualmente ou usar intervalos de células para escrever valores dinâmicos em várias células programaticamente. A biblioteca fornece métodos tanto para operações em células individuais quanto para escrita de dados em lote.

Como faço para substituir os valores existentes em uma célula de uma planilha do Excel?

IronXL permite substituir valores de células simplesmente acessando a célula e atribuindo um novo valor a ela. Você pode substituir valores em linhas, colunas ou intervalos específicos. A biblioteca lida automaticamente com a sobrescrita dos dados existentes ao atribuir novos valores às células.

Quais formatos de arquivo do Excel são suportados para gravação de dados?

IronXL suporta a escrita em todos os principais formatos de arquivo do Excel, incluindo .xlsx, .xls, .xlsm e CSV. A biblioteca lida automaticamente com os requisitos específicos de cada formato, permitindo que você trabalhe com planilhas do Excel em qualquer formato sem precisar alterar sua abordagem de código.

Preciso ter o Microsoft Excel instalado para escrever arquivos do Excel em C#?

Não, o IronXL opera de forma independente, sem exigir o Microsoft Excel ou o Office Interop. É uma biblioteca .NET independente que pode ler, gravar e criar arquivos do Excel programaticamente em qualquer sistema, tornando-a perfeita para aplicações de servidor e ambientes onde o Excel não está instalado.

Como faço para salvar as alterações depois de gravar dados em um arquivo do Excel?

Após inserir dados nas células, salve as alterações usando o método SaveAs() do IronXL para criar um novo arquivo ou Save() para sobrescrever o arquivo existente. A biblioteca garante que todas as atualizações de células, formatação e fórmulas sejam salvas corretamente no formato de arquivo Excel especificado.

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.