Ler dados do Excel e inseri-los em um banco de dados com C#
Este artigo irá explorar como usar o IronXL, uma biblioteca Excel para C#, para ler dados de um arquivo Excel e inseri-los em uma tabela de banco de dados.
1. IronXL
O IronXL é uma biblioteca de software poderosa projetada para desenvolvedores .NET, fornecendo uma API fácil de usar para ler, escrever e manipular arquivos Excel em suas aplicações .NET. Ele oferece um conjunto abrangente de recursos para criar, editar e exportar planilhas Excel, tudo isso sem exigir que o Microsoft Office ou Excel estejam instalados na máquina de destino. Com suporte para uma ampla gama de formatos de arquivo, incluindo XLS, XLSX, CSV, TSV e mais, esta biblioteca facilita para desenvolvedores criar aplicativos baseados em Excel que podem ser implantados em qualquer lugar. O IronXL também oferece recursos avançados como criação de gráficos, visualização de dados e análise de dados para otimizar o processo de desenvolvimento de projetos de pequeno a grande escala.
2. Pré-requisitos
Antes que você possa usar a biblioteca IronXL para escrever em um banco de dados a partir de um arquivo Excel, você deve cumprir certos pré-requisitos. Isso inclui:
- Ter o Visual Studio instalado no seu computador para criar um projeto C#.
- Garantir que o ASP.NET também esteja instalado no seu sistema antes de criar um projeto C#.
- Instalar a biblioteca IronXL no seu sistema para exportar dados. Você pode obtê-la baixando o pacote NuGet do IronXL do Gerenciador de Pacotes NuGet no Visual Studio.
- Ter o SQL instalado no Visual Studio.
3. Criando um Novo Projeto no Visual Studio
Antes de poder utilizar a biblioteca IronXL para realizar operações relacionadas a Excel, você precisa criar um projeto .NET no Visual Studio. Embora qualquer versão do Visual Studio seja compatível, é recomendado usar a versão mais recente disponível. Você pode escolher entre vários templates de projeto, como Windows Forms e ASP.NET, com base nos requisitos do seu projeto. Para este tutorial, o modelo de projeto Aplicativo Console é recomendado para demonstrar como trabalhar com o IronXL.
Criar um novo projeto
Depois de escolher o tipo de projeto, você precisa nomear o projeto e selecionar sua localização. Você também pode especificar o framework preferido, como .NET Core 6, para o projeto.
Configuração do projeto
Após o novo projeto ser criado, você pode acessar o arquivo program.cs onde pode escrever o código e executar a aplicação.
Projeto com código aberto
Agora que o projeto do Visual Studio está criado, vamos instalar o IronXL.
4. Instalar IronXL
A biblioteca IronXL pode ser baixada e instalada de diferentes maneiras, mas para este artigo, duas das maneiras mais simples são abordadas:
- Usando pacotes NuGet no Visual Studio.
- Utilizando a linha de comando do Visual Studio.
4.1 Usando o Visual Studio
Para instalar a biblioteca IronXL, a primeira abordagem é usar o Gerenciador de Pacotes NuGet no Visual Studio. Basta abrir o Gerenciador de Pacotes NuGet e procurar por IronXL na aba Procurar. Depois de localizar o IronXL nos resultados da pesquisa, selecione-o e prossiga com a instalação. Uma vez concluída a instalação, você pode começar a usar a biblioteca IronXL em seu projeto.
A captura de tela a seguir mostra como abrir o Gerenciador de Pacotes NuGet no Visual Studio.
Gerenciador de Pacotes NuGet
A captura de tela a seguir mostra o IronXL nos resultados de pesquisa:
Resultado da pesquisa do IronXL
4.2 Usando a linha de comando do Visual Studio
Muitos desenvolvedores preferem instalar pacotes usando uma interface de linha de comando. Para instalar o IronXL usando a linha de comando, siga estas etapas:
- No Visual Studio, vá para Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.
-
Insira a seguinte linha na aba do Console do Gerenciador de Pacotes:
Install-Package IronXLInstall-Package IronXLSHELL
O pacote será baixado e instalado no projeto atual.
Instalando via linha de comando
5. Instalando e Configurando o Banco de Dados SQL Server
Para instalar e integrar a tabela do banco de dados SQL server com seu projeto em C#, primeiro, vá ao Gerenciador de Pacotes NuGet, busque por System.Data.SqlClient, e instale-o.
Pesquise e instale SqlClient na interface do Gerenciador de Pacotes NuGet
Depois de instalado, vá ao menu do projeto e clique em "Adicionar Novo Item".
Adicionar Novo Item
Uma nova janela será aberta. Selecione dados no menu lateral e clique em Banco de Dados Baseado em Serviço na lista. Escreva um nome apropriado para o banco de dados e clique no botão Adicionar.
Selecione Banco de Dados Baseado em Serviço
Em seguida, no Solution Explorer, clique com o botão direito no banco de dados recém-criado e selecione "Abrir". Isso abrirá uma nova barra lateral.
Clique com o botão direito e selecione Abrir
Na nova barra lateral, clique no seu banco de dados e vá para suas propriedades. De lá, copie a string de conexão.
Clique com o botão direito e selecione Propriedades
Manipular String de Conexão
Após copiar as preferências de conexão, clique em sua instância de banco de dados para abrir uma nova lista. Clique com o botão direito na pasta de tabelas e selecione "Adicionar Nova Tabela".
Adicionar Nova Tabela
Para criar uma nova tabela no banco de dados, siga estes passos:
- Abra uma nova página de design de tabela de dados.
- Adicione a seguinte Consulta SQL, que criará uma nova tabela com três colunas:
Id,NameeNumber. - Clique no botão "Atualizar" no topo da página.
- A tabela recém-gerada será adicionada ao banco de dados.
CREATE TABLE [dbo].[Table]
(
[Id] INT NOT NULL PRIMARY KEY,
[Name] VARCHAR(100) NOT NULL,
[Number] INT
)
Agora que o ambiente SQL está configurado, vamos criar alguns dados de exemplo para preencher este banco de dados a partir dos dados do Excel.
Dados do arquivo Excel
6. Importar Dados do Arquivo Excel e Exportar para um Banco de Dados usando IronXL
Com o IronXL, os desenvolvedores podem automatizar o processo de transferência de dados entre arquivos Excel e bancos de dados, o que pode economizar uma quantidade significativa de tempo e esforço. Utilizando o IronXL, os desenvolvedores podem agilizar seu fluxo de trabalho e eliminar a necessidade de entrada manual de dados, garantindo que os dados sejam precisos e atualizados.
Uma vez configurado o servidor SQL e copiada a string de conexão, basta colar a string de conexão no código abaixo, vincular seu arquivo Excel com o código e alterar a consulta SQL se necessário. Em seguida, execute o código e os dados serão exportados para a tabela do banco de dados.
using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");
// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();
// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";
// Connection string for the SQL Server
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";
// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open(); // Open connection
// Use SqlDataAdapter to update SQL table with DataSet from Excel file
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
adapter.Update(dataSet);
}
using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");
// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();
// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";
// Connection string for the SQL Server
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";
// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open(); // Open connection
// Use SqlDataAdapter to update SQL table with DataSet from Excel file
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
adapter.Update(dataSet);
}
Imports IronXL ' Import the IronXL library
Imports System.Data ' Import data handling library
Imports System.Data.SqlClient ' Import SQL Client library for SQL database operations
' Load the Excel workbook
Private workBook As WorkBook = WorkBook.Load("book.xlsx")
' Convert the workbook into a DataSet
Private dataSet As DataSet = workBook.ToDataSet()
' Define the SQL query to select data from the table
Private sql As String = "SELECT * FROM [dbo].[Table]"
' Connection string for the SQL Server
Private connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"
' Open a connection to the SQL Server using the connection string
Using connection As New SqlConnection(connectionString)
connection.Open() ' Open connection
' Use SqlDataAdapter to update SQL table with DataSet from Excel file
Dim adapter As New SqlDataAdapter(sql, connection)
adapter.Update(dataSet)
End Using
Para verificar se os dados foram exportados com sucesso para o banco de dados, clique com o botão direito no diretório da tabela novamente e clique em "Nova Consulta". Uma nova página será aberta, selecione seu banco de dados na barra superior e execute a consulta SQL apropriada para recuperar os dados.
SELECT * FROM [dbo].[Table]
Pressione o botão verde, e o resultado será exibido em um segundo.
Dados do Banco de Dados
É assim que você pode escrever dados importados de um arquivo Microsoft Excel para um banco de dados.
7. Conclusão
Trabalhar com planilhas do Excel é uma tarefa comum em muitas aplicações, e inserir dados de uma planilha Excel em uma tabela de banco de dados pode agilizar os processos de gerenciamento de dados. Uma maneira de realizar essa tarefa em C# é usando bibliotecas que permitem ler e manipular arquivos Excel, como IronXL. Utilizando esta biblioteca, os desenvolvedores podem facilmente extrair dados de uma planilha Excel e inseri-los em uma tabela de banco de dados, simplificando o processo de gerenciamento de dados e reduzindo as chances de erros. Este artigo cobre os passos envolvidos na adição de dados de um arquivo Excel a uma tabela do SQL Server em um banco de dados SQL Server usando a biblioteca IronXL. Também oferece uma breve introdução à biblioteca IronXL, discute os pré-requisitos necessários para inserir dados e descreve como criar um novo projeto no Visual Studio, instalar IronXL e configurar um banco de dados SQL Server. Por favor, visite o seguinte tutorial para aprender como ler arquivos Excel em C#.
Além disso, o IronXL também oferece recursos avançados incluindo suporte para formatação de células, como alinhamento de texto, tamanho da fonte, cor, painel de congelamento, adição de fórmulas, aplicação de formatação condicional e criptografia com uma senha.
Os usuários também podem se beneficiar da Iron Suite, uma coleção de ferramentas de desenvolvimento de software que inclui IronPDF, IronOCR, IronXL, IronBarcode e IronWebscraper.
Perguntas frequentes
Como posso ler dados de um arquivo Excel usando C#?
Você pode usar o IronXL para ler dados de um arquivo Excel em C#. O IronXL fornece métodos para abrir e ler arquivos Excel, permitindo que você acesse e manipule dados programaticamente.
Quais são os passos para inserir dados do Excel em um banco de dados SQL em C#?
Para inserir dados do Excel em um banco de dados SQL usando C#, primeiro leia os dados com o IronXL e converta-os em um DataSet. Em seguida, use SqlDataAdapter para atualizar a tabela do banco de dados SQL com o DataSet.
Como faço para criar uma nova tabela de banco de dados para importar dados do Excel?
Você pode criar uma nova tabela de banco de dados executando uma consulta SQL como CREATE TABLE [dbo].[Table] ( [Id] INT NOT NULL PRIMARY KEY, [Name] VARCHAR(100) NOT NULL, [Number] INT ) para definir a estrutura da tabela.
Quais são os pré-requisitos para usar o IronXL em um projeto C#?
Os pré-requisitos incluem ter o Visual Studio instalado, a biblioteca IronXL do NuGet Package Manager e o SQL Server configurado no seu ambiente Visual Studio.
Como posso verificar se os dados do Excel foram inseridos com sucesso em um banco de dados?
Você pode verificar a inserção de dados executando uma consulta SQL como SELECT * FROM [dbo].[Table] para buscar e revisar as entradas de dados no banco de dados SQL Server.
Quais são alguns dos recursos avançados oferecidos pelo IronXL?
O IronXL oferece recursos avançados como criação de gráficos, visualização de dados, formatação de células, congelamento de painéis, adição de fórmulas, formatação condicional e criptografia com senha.
Como posso instalar o IronXL no meu projeto do Visual Studio?
Você pode instalar o IronXL em seu projeto do Visual Studio usando o Gerenciador de Pacotes NuGet para pesquisar e instalar o IronXL, ou executando Install-Package IronXL na linha de comando do Visual Studio.
Por que devo usar o IronXL para transferência de dados entre bancos de dados Excel e SQL?
Utilizar o IronXL para transferência de dados entre bancos de dados Excel e SQL automatiza o processo, garantindo a precisão dos dados e economizando tempo, ao mesmo tempo que mantém as informações atualizadas.



