
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".
-
Abra o Visual Studio e clique em Criar um Novo Projeto
Novo Projeto -
Selecione Aplicação Console e Clique em Avançar
Novo Tipo de Projeto -
Insira o nome do Projeto
Nome do Novo Projeto -
Selecione a versão do .NET . Escolha a versão estável .NET 6.0.
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.
-
Abra Gerenciar Pacotes NuGet para Soluções, quer a partir do Solution Explorer ou Ferramentas.
Gerenciador de Pacotes NuGet -
Procure pela Biblioteca IronXL e selecione o projeto atual. Clique em instalar.
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;Imports IronXLOpen 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
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")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
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Select worksheet by name
Dim ws As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheetO 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"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"Também podemos preencher a faixa com um loop for, tornando-a dinâmica. 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 i As Integer = 1 To 5
' 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
Next iOutra forma 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")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")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");
}
}Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Select worksheet at index 0
Dim workSheet As 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 i As Integer = 1 To 5
' 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
Next 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")
End Sub
End ClassPara 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 é:
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.

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 bem estruturados e visualmente atraentes.
Artigos relacionados



