Introdução ao ClosedXML: o que é e para que serve
\n\nClosedXML é 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\nA 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
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\nInstalação do ClosedXML
\n\nA instalação do ClosedXML é feita através do NuGet Package Manager. Abaixo estão todas as formas de instalação:
\n\nVia .NET CLI
\ndotnet add package ClosedXML\n\nVia Package Manager Console (Visual Studio)
\nInstall-Package ClosedXML\n\nVia NuGet Package Manager UI
\n- \n
- Abra o projeto no Visual Studio \n
- Clique com o botão direito no projeto → "Manage NuGet Packages" \n
- Encontre "ClosedXML" e clique em "Install" \n
Verificação da instalação
\nApós a instalação, adicione a diretiva using ao seu código:
\nusing ClosedXML.Excel;\n\nInício rápido: criando sua primeira planilha Excel
\n\nVamos criar uma tabela simples com dados de funcionários e salvá-la em um arquivo:
\n\nusing 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\nEste exemplo cria um arquivo funcionarios.xlsx com três linhas de dados e cabeçalhos formatados.
Principais métodos e funções do ClosedXML
\n\n1. Criação de pasta de trabalho e planilhas
\nMétodo: new XLWorkbook() e workbook.Worksheets.Add()
Descrição: Cria