
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 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 C#, primeiro, vá para o Gerenciador de Pacotes NuGet, pesquise 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,Name, eNumber. - 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);
}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 UsingPara 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 do Iron Suite, uma coleção de ferramentas de desenvolvimento de software que inclui IronPDF, IronOCR, IronXL, IronBarcode e IronWebScraper.

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



