ClosedXML para C# (.NET): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução ao ClosedXML: o que é e para que serve

\n\n

ClosedXML é uma poderosa biblioteca open-source para a linguagem C# (.NET), projetada para criar, ler e editar arquivos do Microsoft Excel (formatos .xlsx, .xlsm, .xltx). Ela fornece uma interface orientada a objetos conveniente para trabalhar com planilhas eletrônicas sem a necessidade de instalar o Microsoft Office ou usar objetos COM.

\n\n

A biblioteca é especialmente útil para:

\n
    \n
  • Automação de relatórios — geração de relatórios complexos do Excel com dados de bancos de dados, API ou outras fontes
  • \n
  • Importação/exportação de dados — processamento em massa de dados tabulares entre sistemas
  • \n
  • Criação de modelos — preenchimento de modelos do Excel pré-preparados com dados
  • \n
  • Cálculos financeiros e analíticos — trabalho com fórmulas, tabelas dinâmicas, gráficos
  • \n
  • Migração de VBA — transferência de macros para C# moderno
  • \n
\n\n

ClosedXML suporta todos os principais recursos do Excel: formatação de células, mesclagem de células, formatação condicional, gráficos, tabelas dinâmicas, validação de dados, proteção de planilhas e muito mais. A biblioteca funciona inteiramente em memória e não requer o Excel instalado no servidor.

\n\n

Instalação do ClosedXML

\n\n

A instalação do ClosedXML é feita através do NuGet Package Manager. Abaixo estão todas as formas de instalação:

\n\n

Via .NET CLI

\n
dotnet add package ClosedXML
\n\n

Via Package Manager Console (Visual Studio)

\n
Install-Package ClosedXML
\n\n

Via NuGet Package Manager UI

\n
    \n
  1. Abra o projeto no Visual Studio
  2. \n
  3. Clique com o botão direito no projeto → "Manage NuGet Packages"
  4. \n
  5. Encontre "ClosedXML" e clique em "Install"
  6. \n
\n\n

Verificação da instalação

\n

Após a instalação, adicione a diretiva using ao seu código:

\n
using ClosedXML.Excel;
\n\n

Início rápido: criando sua primeira planilha Excel

\n\n

Vamos criar uma tabela simples com dados de funcionários e salvá-la em um arquivo:

\n\n
using ClosedXML.Excel;\n\nclass Program\n{\n    static void Main(string[] args)\n    {\n        // Cria uma nova pasta de trabalho\n        using (var workbook = new XLWorkbook())\n        {\n            // Adiciona uma planilha\n            var worksheet = workbook.Worksheets.Add("Funcionários");\n\n            // Preenche os cabeçalhos\n            worksheet.Cell("A1").Value = "ID";\n            worksheet.Cell("B1").Value = "Nome";\n            worksheet.Cell("C1").Value = "Cargo";\n            worksheet.Cell("D1").Value = "Salário";\n\n            // Preenche os dados\n            worksheet.Cell("A2").Value = 1;\n            worksheet.Cell("B2").Value = "João Silva";\n            worksheet.Cell("C2").Value = "Desenvolvedor";\n            worksheet.Cell("D2").Value = 150000;\n\n            worksheet.Cell("A3").Value = 2;\n            worksheet.Cell("B3").Value = "Maria Santos";\n            worksheet.Cell("C3").Value = "Analista";\n            worksheet.Cell("D3").Value = 120000;\n\n            // Formata os cabeçalhos\n            var headerRange = worksheet.Range("A1:D1");\n            headerRange.Style.Font.Bold = true;\n            headerRange.Style.Fill.BackgroundColor = XLColor.LightBlue;\n\n            // Ajusta automaticamente a largura das colunas\n            worksheet.Columns().AdjustToContents();\n\n            // Salva o arquivo\n            workbook.SaveAs("funcionarios.xlsx");\n        }\n\n        Console.WriteLine("Arquivo criado com sucesso!");\n    }\n}
\n\n

Este exemplo cria um arquivo funcionarios.xlsx com três linhas de dados e cabeçalhos formatados.

\n\n

Principais métodos e funções do ClosedXML

\n\n

1. Criação de pasta de trabalho e planilhas

\n

Método: new XLWorkbook() e workbook.Worksheets.Add()

\n

Descrição: Cria

Recommendations