Ir para o conteúdo do rodapé
USANDO O IRONXL

Como abrir um arquivo do Excel e escrever dados em C#

Este artigo vai explorar a biblioteca IronXL para demonstrar como abrir um arquivo Microsoft Excel e escrever dados nele em uma Aplicação Console C#.

IronXL - Uma Biblioteca Excel

IronXL é uma Biblioteca Excel .NET que facilita a criação, leitura e edição de arquivos Excel em aplicações C#. Ele oferece desempenho excepcional e saída precisa. A biblioteca suporta todos os formatos de arquivo de livro do Excel, incluindo XLS, XLSX, XLSM, CSV e TSV. Além disso, permite que os dados sejam salvos ou exportados em formatos como JSON, HTML, Binário, Byte Array, DataSet ou DataTable.

Com o IronXL, os desenvolvedores podem trabalhar com planilhas e intervalos de células de forma harmoniosa. Ele oferece a capacidade de editar fórmulas e recalculá-las facilmente dentro de uma planilha. Classificar dados com base em intervalo, coluna ou linha é direto. A biblioteca fornece recursos para modificar layouts, como congelamento de painéis, tamanho automático de linhas/colunas e adição/remoção de linhas/colunas.

O IronXL também permite a proteção de arquivos Excel com senhas de usuário e permissões para edição. Outro recurso notável é a capacidade de adicionar, remover e extrair imagens de planilhas Excel. A biblioteca oferece uma ampla gama de funções Excel, suportando vários formatos de dados de células. Esses recursos tornam o IronXL uma das APIs mais amigáveis para trabalhar com arquivos Excel.

Uma das vantagens significativas do IronXL é que ele não requer que o Microsoft Excel seja instalado na máquina, eliminando a necessidade de Office Interop ou quaisquer outras dependências. É compatível com múltiplas plataformas e suporta .NET 7, 6, e 5. Também é compatível com .NET Core 2 e 3, bem como com .NET Framework 4.5 e versões posteriores para trabalhar com planilhas Excel.

Criar um aplicativo de console

A versão mais recente do Visual Studio IDE é recomendada para criar a aplicação. O Visual Studio é o IDE oficial para desenvolvimento em C#, e supõe-se que você já o tenha instalado. Se você ainda não instalou o Visual Studio, pode baixá-lo do site oficial da Microsoft Visual Studio.

Siga estas etapas para criar um novo projeto chamado "DemoApp".

  1. Abra o Visual Studio e clique em Criar um Novo Projeto

    Como abrir um arquivo Excel e escrever dados em C#, Figura 1: Novo Projeto Novo Projeto

  2. Selecione Aplicação Console e Clique em Avançar

    Como abrir um arquivo Excel e escrever dados em C#, Figura 2: Novo Tipo de Projeto Novo Tipo de Projeto

  3. Insira o nome do Projeto

    Como abrir um arquivo Excel e escrever dados em C#, Figura 3: Novo Nome do Projeto Nome do Novo Projeto

  4. Selecione a versão do .NET . Escolha a versão estável .NET 6.0.

    Como abrir um arquivo Excel e escrever dados em C#, Figura 4: Novas Informações Adicionais do Projeto Informações Adicionais do Novo Projeto

Instalar a Biblioteca IronXL

Uma vez que o projeto é criado, a biblioteca IronXL precisa ser instalada no projeto para usá-la. Siga estes passos para instalá-lo.

  1. Abra Gerenciar Pacotes NuGet para Soluções, quer a partir do Solution Explorer ou Ferramentas.

    Como abrir um arquivo Excel e escrever dados em C#, Figura 5: Gerenciador de Pacotes NuGet Gerenciador de Pacotes NuGet

  2. Procure pela Biblioteca IronXL e selecione o projeto atual. Clique em instalar.

    Como abrir um arquivo Excel e escrever dados em C#, Figura 6: Pesquisar e instalar o pacote IronXL na interface do Gerenciador de Pacotes NuGet Pesquisar e instalar o pacote IronXL na interface do Gerenciador de Pacotes NuGet

Adicione o seguinte namespace no topo do arquivo Program.cs

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

Open an Existing Excel File in C#

O IronXL oferece a facilidade de abrir um arquivo Excel existente ou você pode criar um novo arquivo Excel. Este exemplo vai abrir um arquivo existente usando C# IronXL.

// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
$vbLabelText   $csharpLabel

Agora, vamos selecionar sua primeira planilha. Você pode selecionar uma planilha pelo número do índice ou pelo nome. A propriedade DefaultWorkSheet pode ajudar a obter a primeira planilha.

// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];

// Select worksheet by name 
WorkSheet ws = workBook.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];

// Select worksheet by name 
WorkSheet ws = workBook.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
$vbLabelText   $csharpLabel

O código acima obtém a primeira planilha do livro de Excel. Para criar um novo arquivo Excel com dados, verifique esta página de exemplo de código.

Agora, vamos escrever dados no arquivo Excel usando a biblioteca de objetos IronXL.

Write Data to Excel File in C#

Escrever dados em um arquivo Excel usando IronXL é muito fácil. Existem várias maneiras de fazer isso, mas o método mais simples é usar a referência da célula do Excel.

// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
$vbLabelText   $csharpLabel

Também é possível escrever dados para um intervalo de células. O código a seguir escreve dados da célula B1 até B5.

// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
$vbLabelText   $csharpLabel

Também podemos preencher o intervalo com um loop for, tornando-o dinâmico. O código é o seguinte:

// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    // Write the Dynamic value in column C
    workSheet["C" + i].Value = "Value: " + i;

    // Write the Dynamic value in column D
    workSheet["D" + i].Value = "Value: " + i;
}
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    // Write the Dynamic value in column C
    workSheet["C" + i].Value = "Value: " + i;

    // Write the Dynamic value in column D
    workSheet["D" + i].Value = "Value: " + i;
}
$vbLabelText   $csharpLabel

Outra maneira de escrever dados em um arquivo Excel é usando o método Replace.

// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
$vbLabelText   $csharpLabel

Save an Excel File in C#

Esta seção explica como salvar o arquivo Excel com o conteúdo recém-escrito.

// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
$vbLabelText   $csharpLabel

O código completo é o seguinte:

using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Select worksheet at index 0
        WorkSheet workSheet = workBook.WorkSheets[0];

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

        // Write the same value to cells from B1 to B5
        workSheet["B1:B5"].Value = "Range value";

        // Specify range in which we want to write the values
        for (int i = 1; i <= 5; i++)
        {
            // Write the Dynamic value in column C
            workSheet["C" + i].Value = "Value: " + i;

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

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
using System;
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Select worksheet at index 0
        WorkSheet workSheet = workBook.WorkSheets[0];

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

        // Write the same value to cells from B1 to B5
        workSheet["B1:B5"].Value = "Range value";

        // Specify range in which we want to write the values
        for (int i = 1; i <= 5; i++)
        {
            // Write the Dynamic value in column C
            workSheet["C" + i].Value = "Value: " + i;

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

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
$vbLabelText   $csharpLabel

Para informações mais detalhadas sobre como ler dados de arquivos Excel em C#, dê uma olhada neste exemplo.

Saída

A saída do arquivo é:

![Como abrir um arquivo Excel e escrever dados em C#, Figura 7: O arquivo Excel de saída](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-7.webp)

O arquivo Excel de saída

Resumo

Este artigo demonstrou como escrever dados em arquivos Excel em C# usando IronXL. O IronXL proporciona facilidade para trabalhar com arquivos Excel existentes sem qualquer complicação. Também permite criar novos arquivos Excel e escrever dados nele com uma sintaxe fácil. IronXL também pode ser usado para ler arquivos Excel sem a aplicação Microsoft Excel instalada. Para ler dados de arquivos Excel você pode ver esta página de exemplo de código.

O IronXL é gratuito para desenvolvimento e pode ser licenciado para uso comercial. Você também pode experimentar a versão de teste gratuita do IronXL para uso comercial.

Perguntas frequentes

Como posso abrir um arquivo do Excel em C# sem usar Interop?

É possível abrir um arquivo Excel em C# sem usar o Interop, utilizando a biblioteca IronXL. O IronXL permite manipular arquivos Excel de forma eficiente sem a necessidade de instalar o Microsoft Excel, melhorando o desempenho e a compatibilidade.

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

Com o IronXL, você pode gravar dados em uma célula específica de um arquivo do Excel acessando a pasta de trabalho, selecionando a planilha e, em seguida, usando referências de células para atribuir valores às células desejadas.

Quais são as vantagens de usar o IronXL em vez do Office Interop para manipulação de arquivos do Excel?

O IronXL oferece diversas vantagens em relação ao Office Interop, incluindo a ausência de dependência da instalação do Microsoft Excel, desempenho aprimorado, compatibilidade entre plataformas e suporte para vários formatos de arquivo do Excel, como XLS, XLSX e CSV.

Posso editar fórmulas em arquivos do Excel usando esta biblioteca?

Sim, o IronXL permite editar fórmulas em arquivos do Excel. Você pode manipular fórmulas existentes ou inserir novas usando uma sintaxe simples, que a biblioteca processa de forma eficiente.

Como o IronXL suporta diferentes formatos de arquivo do Excel?

O IronXL suporta vários formatos de arquivo Excel, como XLS, XLSX, XLSM, CSV e TSV, permitindo que você crie, leia e edite esses arquivos perfeitamente em um aplicativo C#.

É possível proteger um arquivo do Excel usando o IronXL?

Sim, o IronXL oferece funcionalidades para proteger arquivos do Excel, permitindo definir senhas e permissões de usuário, garantindo a segurança dos dados e o acesso controlado.

Como posso integrar a biblioteca IronXL ao meu projeto C#?

Para integrar o IronXL ao seu projeto C#, você pode usar o Gerenciador de Pacotes NuGet no Visual Studio. Procure por IronXL e adicione-o ao seu projeto para começar a usar seus recursos.

Quais plataformas são suportadas pelo IronXL?

O IronXL oferece suporte a múltiplas plataformas, incluindo .NET 5, 6 e 7, bem como .NET Core e Framework, tornando-o uma opção versátil para diversos ambientes de desenvolvimento.

Posso usar o IronXL gratuitamente?

O IronXL é gratuito para fins de desenvolvimento. No entanto, para uso comercial, é necessária uma licença. Um período de avaliação gratuita está disponível para testar os recursos da biblioteca em um ambiente comercial.

Como posso exportar dados do Excel para JSON usando o IronXL?

O IronXL permite exportar dados do Excel para o formato JSON, convertendo a planilha ou intervalos de dados específicos em strings JSON, que podem então ser usadas em aplicativos que exigem dados JSON.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me