Como trabalhar com arquivos do Excel em C#: Figura 1 - Tutorial
IronXL é uma poderosa biblioteca C# que permite aos desenvolvedores ler, escrever e manipular arquivos do Excel sem exigir instalação do Microsoft Excel, oferecendo compatibilidade entre plataformas e suportando formatos como XLS, XLSX, CSV com uma API intuitiva.
Como Trabalho com Workbook do Excel em C#?
- Crie um projeto no Visual Studio e adicione o pacote NuGet do IronXL.
- Crie um arquivo Excel sem Interop.
- Adicione estilo ao arquivo Excel usando o IronXL.
- Leia valores do Excel e calcule.
- Converta o Excel em HTML para uso na web.
O que é a Biblioteca IronXL?
IronXL é uma biblioteca robusta for .NET que simplifica o trabalho com arquivos Excel. Ela possui uma API intuitiva que simplifica a manipulação de documentos Excel, suportando vários formatos como XLS, XLSX, e CSV. Essa versatilidade permite manipulação fácil de valores de células, fórmulas e formatação. IronXL é otimizado para desempenho, capaz de lidar eficientemente com arquivos grandes e operações complexas, garantindo o uso eficiente da memória. Sua compatibilidade entre plataformas melhora sua utilidade em diferentes sistemas operacionais. Aqui estão suas principais características e benefícios:
Quais São os Recursos Principais do IronXL?
-
Importação e Exportação:
- Importar Dados: Suporta formatos XLS, XLSX, CSV e TSV.
- Exportar Dados: Pode exportar planilhas para XLS, XLSX, CSV, TSV e JSON.
-
Manipulação de Dados:
- Integração com System.Data: Trabalhe com planilhas como
DataSeteDataTableobjetos. - Fórmulas: Suporta fórmulas do Excel que são recalculadas quando as planilhas são editadas.
- Integração com System.Data: Trabalhe com planilhas como
-
Estilização e Formatação:
- Estilização de Célula: Personalize fonte, tamanho, padrão de fundo, borda, alinhamento, e formatos numéricos.
- Intervalos: Configuração de intervalo intuitiva com sintaxe
WorkSheet["A1:B10"].
-
Segurança:
- Criptografia: Criptografar e descriptografar arquivos XLSX, XLSM e XLTX com senhas.
- Compatibilidade Cross Platform:
- Funciona com .NET Framework, .NET Core, .NET Standard e Azure.
- Compatível com Windows, macOS, Linux, Docker e AWS.
Por Que Devo Escolher IronXL Em Vez de Outras Bibliotecas de Excel?
- Não Precisa do Microsoft Office: IronXL não requer que o Microsoft Office seja instalado, tornando-o leve e fácil de implantar.
- Facilidade de Uso: A API é intuitiva e fácil de usar, permitindo que os desenvolvedores integrem rapidamente funcionalidades do Excel em suas aplicações.
- Desempenho: IronXL é otimizado para desempenho, garantindo processamento rápido e eficiente de arquivos Excel grandes.
- Versatilidade: Adequado para uma ampla gama de aplicações, incluindo soluções web, desktop e baseadas em nuvem.
- Documentação Abrangente: Documentação extensa e exemplos estão disponíveis, facilitando para os desenvolvedores começarem e encontrarem soluções para problemas comuns.
Como Começo com o IronXL?
Para usar o IronXL em seus projetos .NET, você precisa garantir que seu ambiente de desenvolvimento atenda aos seguintes pré-requisitos:
Quais São os Pré-requisitos para usar o IronXL?
- .NET Framework: IronXL suporta .NET Framework 4.5 e acima.
- .NET Core e .NET Standard: Compatível com .NET Core 2, 3, 5, 6, 7, 8 e 9.
- Sistemas Operacionais: Funciona em Windows, macOS e Linux. Compatível com Docker, Azure e AWS.
- Não Precisa do Microsoft Office: IronXL não requer Office ou Excel Interop.
- Editor de código: Qualquer editor de código C# como Visual Studio.
Como Instalo o IronXL no Meu Projeto?
Você pode instalar o IronXL via NuGet Package Manager no Visual Studio ou usando o Package Manager Console com o seguinte comando:
dotnet add package IronXL.Excel --version 2024.8.5
dotnet add package IronXL.Excel --version 2024.8.5
Para instruções detalhadas de instalação, incluindo configuração para Blazor, .NET MAUI, ou projetos VB.NET, consulte a documentação oficial.
Como Crio Meu Primeiro Arquivo Excel com IronXL?
Vamos desenvolver um projeto no Visual Studio e adicionar a biblioteca IronXL para começar a trabalhar em um arquivo Excel.
Como Crio um Projeto Visual Studio e Adiciono o IronXL?
Abra o Microsoft Visual Studio e selecione 'Criar um novo projeto' para começar.

Selecione o modelo de projeto de sua escolha. Aqui, selecionamos Aplicativo de Console por simplicidade.

Agora, insira o nome e a localização do projeto.

Selecione a versão do .NET Framework que você preferir. Selecionamos a mais recente disponível em nossa máquina.

Uma vez que você clicar no botão Criar, o projeto será criado e estará pronto para uso. Abra o Solution Explorer para verificar os arquivos do projeto.

Agora, vamos instalar a biblioteca IronXL do gerenciador de pacotes NuGet como mostrado acima.
Como Crio um Arquivo Excel Sem Interop?
Agora vamos criar um arquivo Excel sem usar a biblioteca Microsoft Interop. IronXL fornece uma maneira simples e intuitiva de criar planilhas programaticamente.
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create new Excel WorkBook Object
WorkBook workBook = WorkBook.Create();
// Create WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
// Add data in new worksheet
workSheet["A1"].Value = "IronXL is the best Excel library";
// Save the Excel file as XLSX
workBook.SaveAs("myIronXlDemo.xlsx");
}
}
}
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create new Excel WorkBook Object
WorkBook workBook = WorkBook.Create();
// Create WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
// Add data in new worksheet
workSheet["A1"].Value = "IronXL is the best Excel library";
// Save the Excel file as XLSX
workBook.SaveAs("myIronXlDemo.xlsx");
}
}
}
Imports IronXL
Namespace WorkingWithIronXL
Public Class Program
Public Shared Sub Main()
' Create new Excel WorkBook Object
Dim workBook As WorkBook = WorkBook.Create()
' Create WorkSheet
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("newXlDemo")
' Add data in new worksheet
workSheet("A1").Value = "IronXL is the best Excel library"
' Save the Excel file as XLSX
workBook.SaveAs("myIronXlDemo.xlsx")
End Sub
End Class
End Namespace
Explicação do código
- Adicionamos o namespace do IronXL para começar a trabalhar com a biblioteca.
- Crie um objeto Excel com
WorkBook.Create()para criar um arquivo XLSX. - Chame o método
CreateWorkSheetpara criar uma planilha dentro do workbook. - Adicione valores às células usando
workSheet["A1"].Value. - Salve o arquivo Excel usando
workBook.SaveAsfornecendo um nome de arquivo.
Arquivo Excel de saída

Por que o IronXL não requer Interop?
Ao contrário das abordagens tradicionais que dependem do Microsoft Excel Interop, o IronXL é uma biblioteca .NET independente que lê e escreve arquivos Excel diretamente. Isso significa:
Para quais formatos de arquivo posso salvar?
O IronXL suporta salvar em vários formatos:
// Save as different Excel formats
workBook.SaveAs("file.xlsx"); // Excel 2007+ format
workBook.SaveAs("file.xls"); // Excel 97-2003 format
workBook.SaveAs("file.xlsm"); // Excel with macros
// Export to other formats
workBook.SaveAsCsv("file.csv", ","); // CSV with comma delimiter
workBook.SaveAsJson("file.json"); // JSON format
workBook.SaveAsXml("file.xml"); // XML format
// Save as different Excel formats
workBook.SaveAs("file.xlsx"); // Excel 2007+ format
workBook.SaveAs("file.xls"); // Excel 97-2003 format
workBook.SaveAs("file.xlsm"); // Excel with macros
// Export to other formats
workBook.SaveAsCsv("file.csv", ","); // CSV with comma delimiter
workBook.SaveAsJson("file.json"); // JSON format
workBook.SaveAsXml("file.xml"); // XML format
' Save as different Excel formats
workBook.SaveAs("file.xlsx") ' Excel 2007+ format
workBook.SaveAs("file.xls") ' Excel 97-2003 format
workBook.SaveAs("file.xlsm") ' Excel with macros
' Export to other formats
workBook.SaveAsCsv("file.csv", ",") ' CSV with comma delimiter
workBook.SaveAsJson("file.json") ' JSON format
workBook.SaveAsXml("file.xml") ' XML format
Como faço para lidar com erros durante a criação de arquivos?
O IronXL oferece um tratamento de erros abrangente. Aqui está um exemplo de prática recomendada:
try
{
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Demo");
workSheet["A1"].Value = "Sample Data";
// Check if directory exists
string directory = @"C:\ExcelFiles\";
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
workBook.SaveAs(Path.Combine(directory, "output.xlsx"));
}
catch (Exception ex)
{
Console.WriteLine($"Error creating Excel file: {ex.Message}");
}
try
{
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Demo");
workSheet["A1"].Value = "Sample Data";
// Check if directory exists
string directory = @"C:\ExcelFiles\";
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
workBook.SaveAs(Path.Combine(directory, "output.xlsx"));
}
catch (Exception ex)
{
Console.WriteLine($"Error creating Excel file: {ex.Message}");
}
Imports System
Imports System.IO
Try
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Demo")
workSheet("A1").Value = "Sample Data"
' Check if directory exists
Dim directory As String = "C:\ExcelFiles\"
If Not Directory.Exists(directory) Then
Directory.CreateDirectory(directory)
End If
workBook.SaveAs(Path.Combine(directory, "output.xlsx"))
Catch ex As Exception
Console.WriteLine($"Error creating Excel file: {ex.Message}")
End Try
Como adiciono estilos aos arquivos Excel usando o IronXL?
Agora vamos ver como adicionar estilos a células do Excel. O IronXL oferece opções de estilo abrangentes para criar planilhas de aparência profissional.
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create a new workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new worksheet
WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
// Add multiple values to cells
workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
workSheet["A2"].Value = 999999;
// Apply styles to cells
workSheet["A1"].Style.Font.Bold = true;
workSheet["A1"].Style.Font.Italic = true;
workSheet["A1"].Style.Font.Height = 14;
workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
// Save the workbook
workBook.SaveAs("myIronXlWriteDemo.xlsx");
}
}
}
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create a new workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new worksheet
WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
// Add multiple values to cells
workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
workSheet["A2"].Value = 999999;
// Apply styles to cells
workSheet["A1"].Style.Font.Bold = true;
workSheet["A1"].Style.Font.Italic = true;
workSheet["A1"].Style.Font.Height = 14;
workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
// Save the workbook
workBook.SaveAs("myIronXlWriteDemo.xlsx");
}
}
}
Imports IronXL
Namespace WorkingWithIronXL
Public Class Program
Public Shared Sub Main()
' Create a new workbook
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Create a new worksheet
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("StyledSheet")
' Add multiple values to cells
workSheet("A1").Value = "This Styled Text with Awesome IronXL library"
workSheet("A2").Value = 999999
' Apply styles to cells
workSheet("A1").Style.Font.Bold = True
workSheet("A1").Style.Font.Italic = True
workSheet("A1").Style.Font.Height = 14
workSheet("A1").Style.Font.Color = "#FF0000" ' Red color
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
workSheet("A2").Style.BottomBorder.SetColor("#00FF00") ' Green color
' Save the workbook
workBook.SaveAs("myIronXlWriteDemo.xlsx")
End Sub
End Class
End Namespace
Explicação do código
- Crie um arquivo Excel usando
WorkBook.Create. - Crie uma planilha usando
workBook.CreateWorkSheet. - Adicione valores às células usando
workSheet["A1"].Value. - Adicione estilos às células usando propriedades como
workSheet["A1"].Style.Font.Bold. - Salve o workbook usando
workBook.SaveAs.
Arquivo Excel de saída

Quais Opções de Estilização Estão Disponíveis?
O IronXL oferece opções de estilo extensivas, incluindo:
- Propriedades de fonte: Família de fontes, tamanho, cor, negrito, itálico, sublinhado, tachado
- Bordas das células: Estilos e cores de bordas para todos os quatro lados
- Plano de fundo: Cores e padrões de plano de fundo
- Alinhamento: Opções de alinhamento horizontal e vertical
- Formatos de número: Formatos personalizados para datas, moeda, percentuais
Como aplico estilos a várias células?
Você pode aplicar estilos a intervalos de células de forma eficiente:
// Apply styles to a range
var range = workSheet["A1:D10"];
foreach (var cell in range)
{
cell.Style.Font.Bold = true;
cell.Style.Font.Color = "#0000FF"; // Blue
cell.Style.SetBackgroundColor("#FFFF00"); // Yellow background
}
// Apply styles to a range
var range = workSheet["A1:D10"];
foreach (var cell in range)
{
cell.Style.Font.Bold = true;
cell.Style.Font.Color = "#0000FF"; // Blue
cell.Style.SetBackgroundColor("#FFFF00"); // Yellow background
}
' Apply styles to a range
Dim range = workSheet("A1:D10")
For Each cell In range
cell.Style.Font.Bold = True
cell.Style.Font.Color = "#0000FF" ' Blue
cell.Style.SetBackgroundColor("#FFFF00") ' Yellow background
Next
Posso usar formatação condicional?
Sim, o IronXL suporta formatação condicional:
// Add conditional formatting rule
var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(
ComparisonOperator.GreaterThan, "100");
rule.FontFormatting.Bold = true;
rule.FontFormatting.FontColor = "#FF0000"; // Red for values > 100
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);
// Add conditional formatting rule
var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(
ComparisonOperator.GreaterThan, "100");
rule.FontFormatting.Bold = true;
rule.FontFormatting.FontColor = "#FF0000"; // Red for values > 100
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);
' Add conditional formatting rule
Dim rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.GreaterThan, "100")
rule.FontFormatting.Bold = True
rule.FontFormatting.FontColor = "#FF0000" ' Red for values > 100
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule)
Como leio valores do Excel e calculo?
Agora vamos ver como ler arquivos Excel usando o IronXL e realizar cálculos. O IronXL suporta várias funções matemáticas para análise de dados.
using IronXL;
using System;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ReadData()
{
// Load the Excel worksheet
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
// Select the first worksheet
WorkSheet workSheet = workBook.WorkSheets[0];
// Read a specific cell value
int cellValue = workSheet["A2"].IntValue;
Console.WriteLine($"Value in A2: {cellValue}");
// Read a range of cells
foreach (var cell in workSheet["A1:H10"])
{
Console.Write($"{cell.Text}\t");
if(cell.AddressString.Contains("H"))
{
Console.WriteLine();
}
}
// Calculate aggregate values
decimal sum = workSheet["F2:F10"].Sum();
Console.WriteLine($"Sum of F2:F10: {sum}");
}
}
}
using IronXL;
using System;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ReadData()
{
// Load the Excel worksheet
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
// Select the first worksheet
WorkSheet workSheet = workBook.WorkSheets[0];
// Read a specific cell value
int cellValue = workSheet["A2"].IntValue;
Console.WriteLine($"Value in A2: {cellValue}");
// Read a range of cells
foreach (var cell in workSheet["A1:H10"])
{
Console.Write($"{cell.Text}\t");
if(cell.AddressString.Contains("H"))
{
Console.WriteLine();
}
}
// Calculate aggregate values
decimal sum = workSheet["F2:F10"].Sum();
Console.WriteLine($"Sum of F2:F10: {sum}");
}
}
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System
Namespace WorkingWithIronXL
Friend Class IronXlDemo
Public Shared Sub ReadData()
' Load the Excel worksheet
Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
' Select the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Read a specific cell value
Dim cellValue As Integer = workSheet("A2").IntValue
Console.WriteLine($"Value in A2: {cellValue}")
' Read a range of cells
For Each cell In workSheet("A1:H10")
Console.Write($"{cell.Text}" & vbTab)
If cell.AddressString.Contains("H") Then
Console.WriteLine()
End If
Next cell
' Calculate aggregate values
Dim sum As Decimal = workSheet("F2:F10").Sum()
Console.WriteLine($"Sum of F2:F10: {sum}")
End Sub
End Class
End Namespace
Explicação do código
- Carregue um arquivo Excel usando
WorkBook.Load. - Acesse a primeira planilha do livro.
- Leia o valor de uma célula específica e exiba-o usando
Console.WriteLine. - Percorra um intervalo de células e imprima cada valor. Imprima novas linhas após a coluna H.
- Calcule a soma dos valores no intervalo F2:F10 e imprima-a.
Excel de entrada

Saída

Quais Tipos de Dados Posso Ler das Células?
IronXL suporta a leitura de vários tipos de dados das células:
// Different ways to read cell values
string textValue = workSheet["A1"].StringValue;
int intValue = workSheet["B1"].IntValue;
decimal decimalValue = workSheet["C1"].DecimalValue;
double doubleValue = workSheet["D1"].DoubleValue;
DateTime dateValue = workSheet["E1"].DateTimeValue;
bool boolValue = workSheet["F1"].BoolValue;
// Read formula results
string formulaResult = workSheet["G1"].FormattedCellValue;
// Different ways to read cell values
string textValue = workSheet["A1"].StringValue;
int intValue = workSheet["B1"].IntValue;
decimal decimalValue = workSheet["C1"].DecimalValue;
double doubleValue = workSheet["D1"].DoubleValue;
DateTime dateValue = workSheet["E1"].DateTimeValue;
bool boolValue = workSheet["F1"].BoolValue;
// Read formula results
string formulaResult = workSheet["G1"].FormattedCellValue;
' Different ways to read cell values
Dim textValue As String = workSheet("A1").StringValue
Dim intValue As Integer = workSheet("B1").IntValue
Dim decimalValue As Decimal = workSheet("C1").DecimalValue
Dim doubleValue As Double = workSheet("D1").DoubleValue
Dim dateValue As DateTime = workSheet("E1").DateTimeValue
Dim boolValue As Boolean = workSheet("F1").BoolValue
' Read formula results
Dim formulaResult As String = workSheet("G1").FormattedCellValue
Como Lido com Células Vazias ou Nulas?
IronXL oferece maneiras seguras de lidar com células vazias:
// Check if cell is empty
if (workSheet["A1"].IsEmpty)
{
Console.WriteLine("Cell A1 is empty");
}
// Use null-coalescing for safe value reading
string value = workSheet["A1"].StringValue ?? "Default Value";
// Check for specific content types
if (workSheet["B1"].IsNumeric)
{
decimal numValue = workSheet["B1"].DecimalValue;
}
// Check if cell is empty
if (workSheet["A1"].IsEmpty)
{
Console.WriteLine("Cell A1 is empty");
}
// Use null-coalescing for safe value reading
string value = workSheet["A1"].StringValue ?? "Default Value";
// Check for specific content types
if (workSheet["B1"].IsNumeric)
{
decimal numValue = workSheet["B1"].DecimalValue;
}
' Check if cell is empty
If workSheet("A1").IsEmpty Then
Console.WriteLine("Cell A1 is empty")
End If
' Use null-coalescing for safe value reading
Dim value As String = If(workSheet("A1").StringValue, "Default Value")
' Check for specific content types
If workSheet("B1").IsNumeric Then
Dim numValue As Decimal = workSheet("B1").DecimalValue
End If
Quais Funções Agregadas Estão Disponíveis?
IronXL suporta várias funções agregadas:
// Available aggregate functions
decimal sum = workSheet["A1:A10"].Sum();
decimal avg = workSheet["A1:A10"].Avg();
decimal min = workSheet["A1:A10"].Min();
decimal max = workSheet["A1:A10"].Max();
int count = workSheet["A1:A10"].Count();
// Available aggregate functions
decimal sum = workSheet["A1:A10"].Sum();
decimal avg = workSheet["A1:A10"].Avg();
decimal min = workSheet["A1:A10"].Min();
decimal max = workSheet["A1:A10"].Max();
int count = workSheet["A1:A10"].Count();
' Available aggregate functions
Dim sum As Decimal = workSheet("A1:A10").Sum()
Dim avg As Decimal = workSheet("A1:A10").Avg()
Dim min As Decimal = workSheet("A1:A10").Min()
Dim max As Decimal = workSheet("A1:A10").Max()
Dim count As Integer = workSheet("A1:A10").Count()
Como Converto Excel para HTML para Uso na Web?
Vamos ver como converter Excel para HTML para uso na web. Isso é particularmente útil para exibir dados do Excel em aplicações web.
using IronXL;
using IronXL.Options;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ConvertToHtml()
{
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
var options = new HtmlExportOptions()
{
// Set row/column numbers visible in HTML document
OutputRowNumbers = true,
OutputColumnHeaders = true,
// Set hidden rows/columns visible in HTML document
OutputHiddenRows = true,
OutputHiddenColumns = true,
// Set leading spaces as non-breaking
OutputLeadingSpacesAsNonBreaking = true
};
// Export workbook to the HTML file
workBook.ExportToHtml("workBook.html", options);
}
}
}
using IronXL;
using IronXL.Options;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ConvertToHtml()
{
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
var options = new HtmlExportOptions()
{
// Set row/column numbers visible in HTML document
OutputRowNumbers = true,
OutputColumnHeaders = true,
// Set hidden rows/columns visible in HTML document
OutputHiddenRows = true,
OutputHiddenColumns = true,
// Set leading spaces as non-breaking
OutputLeadingSpacesAsNonBreaking = true
};
// Export workbook to the HTML file
workBook.ExportToHtml("workBook.html", options);
}
}
}
Imports IronXL
Imports IronXL.Options
Namespace WorkingWithIronXL
Friend Class IronXlDemo
Public Shared Sub ConvertToHtml()
Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
Dim options = New HtmlExportOptions() With {
.OutputRowNumbers = True,
.OutputColumnHeaders = True,
.OutputHiddenRows = True,
.OutputHiddenColumns = True,
.OutputLeadingSpacesAsNonBreaking = True
}
' Export workbook to the HTML file
workBook.ExportToHtml("workBook.html", options)
End Sub
End Class
End Namespace
Explicação do código
- Carregue o arquivo Excel usando o método
Load. - Defina opções para conversão para HTML usando
HtmlExportOptions. - Use o método
ExportToHtmlpara converter e salvar como HTML.
Entrada

Saída

Quais Opções de Exportação para HTML Estão Disponíveis?
IronXL oferece várias opções de exportação para HTML:
var htmlOptions = new HtmlExportOptions()
{
// Table formatting options
OutputRowNumbers = true,
OutputColumnHeaders = true,
// Visibility options
OutputHiddenRows = false,
OutputHiddenColumns = false,
// Formatting preservation
OutputLeadingSpacesAsNonBreaking = true,
// Custom CSS class
TableCssClass = "excel-table"
};
var htmlOptions = new HtmlExportOptions()
{
// Table formatting options
OutputRowNumbers = true,
OutputColumnHeaders = true,
// Visibility options
OutputHiddenRows = false,
OutputHiddenColumns = false,
// Formatting preservation
OutputLeadingSpacesAsNonBreaking = true,
// Custom CSS class
TableCssClass = "excel-table"
};
Dim htmlOptions As New HtmlExportOptions() With {
.OutputRowNumbers = True,
.OutputColumnHeaders = True,
.OutputHiddenRows = False,
.OutputHiddenColumns = False,
.OutputLeadingSpacesAsNonBreaking = True,
.TableCssClass = "excel-table"
}
Como Preservo a Formatação no HTML?
IronXL preserva automaticamente a formatação básica ao exportar para HTML. Para preservação de formatação avançada:
// Export with inline CSS styles
workBook.ExportToHtml("styled.html", new HtmlExportOptions
{
OutputRowNumbers = false,
OutputColumnHeaders = true,
// Preserves cell styles as inline CSS
PreserveStyles = true
});
// Export with inline CSS styles
workBook.ExportToHtml("styled.html", new HtmlExportOptions
{
OutputRowNumbers = false,
OutputColumnHeaders = true,
// Preserves cell styles as inline CSS
PreserveStyles = true
});
' Export with inline CSS styles
workBook.ExportToHtml("styled.html", New HtmlExportOptions With {
.OutputRowNumbers = False,
.OutputColumnHeaders = True,
' Preserves cell styles as inline CSS
.PreserveStyles = True
})
Posso Exportar Apenas Planilhas Específicas?
Sim, você pode exportar planilhas individuais:
// Export specific worksheet
WorkSheet sheet = workBook.GetWorkSheet("Sheet1");
sheet.SaveAsHtml("sheet1.html");
// Export multiple specific sheets
foreach (var sheetName in new[] { "Sheet1", "Sheet3" })
{
workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html");
}
// Export specific worksheet
WorkSheet sheet = workBook.GetWorkSheet("Sheet1");
sheet.SaveAsHtml("sheet1.html");
// Export multiple specific sheets
foreach (var sheetName in new[] { "Sheet1", "Sheet3" })
{
workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html");
}
' Export specific worksheet
Dim sheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
sheet.SaveAsHtml("sheet1.html")
' Export multiple specific sheets
For Each sheetName As String In {"Sheet1", "Sheet3"}
workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html")
Next
Quais São os Casos de Uso no Mundo Real para o IronXL?
IronXL é uma biblioteca .NET versátil com uma ampla gama de aplicações no mundo real, incluindo:
1. Relatórios Empresariais:
- Automatização de relatórios periódicos como resumos de vendas e demonstrações financeiras.
- Criação de painéis personalizados a partir de várias fontes de dados.
- Exportação de dados para Excel para apresentações a stakeholders.
2. Análise de Dados:
- Processamento de grandes conjuntos de dados para análise estatística e transformação.
- Exportação de dados analisados para exame dos stakeholders.
- Uso de funções agregadas para insights rápidos.
3. Gestão de Inventário:
- Gestão de inventários de produtos com níveis de estoque e detalhes dos fornecedores.
- Geração de relatórios de inventário para acompanhar tendências.
- Importação de dados CSV de fornecedores.
4. Gestão de Relacionamento com o Cliente (CRM):
- Exportação de dados de clientes para análise detalhada.
- Atualização de registros de CRM importando dados modificados.
- Criação de relatórios de segmentação usando formatação condicional.
5. Instituições Educacionais:
- Criação de livros de notas de alunos e registros de presença.
- Geração de resultados de exames e análise de desempenho.
- Uso de fórmulas para calcular notas automaticamente.
6. Serviços Financeiros:
- Automação de modelos financeiros, orçamentos e previsões.
- Consolidação de dados financeiros para relatórios abrangentes.
- Criação de gráficos para análise visual.
7. Recursos Humanos:
- Gerenciamento de dados de funcionários, incluindo folha de pagamento e avaliações.
- Gerando relatórios sobre métricas de RH e demografia.
- Protegendo dados sensíveis com criptografia de senha.
8. Gerenciamento de Projetos:
- Acompanhamento de cronogramas de projetos e alocação de recursos.
- Criando gráficos de Gantt e ferramentas de gerenciamento de projetos.
- Usando intervalos nomeados para gerenciamento de fórmulas.
9. E-commerce:
- Exportando detalhes de pedidos, informações de clientes e dados de vendas de plataformas de e-commerce para o Excel.
- Analisando tendências de vendas, comportamento do cliente e desempenho do produto.
10. Saúde:
- Gerenciamento de registros de pacientes e agendamentos.
- Analisando dados de saúde para melhorar o atendimento ao paciente.
- Protegendo dados de pacientes com proteção de planilha.
Quais Indústrias se Beneficiam Mais do IronXL?
Indústrias que lidam com grandes quantidades de dados estruturados se beneficiam mais:
- Finanças e Bancos (relatórios e análises)
- Saúde (gerenciamento seguro de dados)
- Educação (gerenciamento e relatórios de notas)
- E-commerce (exportação e importação de dados)
- Manufatura (rastreamento de inventário e produção)
Como o IronXL Lida com Processamento de Dados em Larga Escala?
IronXL é otimizado para desempenho com:
- Gerenciamento eficiente de memória para arquivos grandes
- Capacidades de streaming para conjuntos de dados grandes
- Suporte a processamento em segundo plano
- Operações seguras para múltiplas threads
Quais são os Cenários Comuns de Integração?
Cenários comuns de integração incluem:
- Aplicações web ASP.NET para uploads/downloads de arquivos
- Funções Azure para processamento baseado em nuvem
- Integração com banco de dados SQL para sincronização de dados
- Aplicações Blazor para interfaces web interativas
- Contêineres Docker para microsserviços
Como Licenciar o IronXL para Uso em Produção?
IronXL é uma biblioteca empresarial da Iron Software. Requer uma licença para execução. Você pode baixar uma licença de teste usando seu ID de email aqui. Ao enviar, a licença é entregue ao seu email. Coloque essa licença no início do seu código, antes de usar o IronXL:
License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here"
Quais Tipos de Licença Estão Disponíveis?
IronXL oferece vários tipos de licença:
- Lite License: Para desenvolvedores individuais
- Professional License: Para pequenas equipes
- Enterprise License: Para grandes organizações
- SaaS License: Para aplicações baseadas em nuvem
- OEM License: Para redistribuição
Como Aplicar a Chave de Licença?
Você pode aplicar a chave de licença de várias maneiras:
// Method 1: In code
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY";
// Method 2: Using app.config or web.config
// Add to configuration file:
// <appSettings>
// <add key="IronXL.LicenseKey" value="YOUR-LICENSE-KEY"/>
// </appSettings>
// Method 3: Using environment variable
Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY");
// Method 1: In code
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY";
// Method 2: Using app.config or web.config
// Add to configuration file:
// <appSettings>
// <add key="IronXL.LicenseKey" value="YOUR-LICENSE-KEY"/>
// </appSettings>
// Method 3: Using environment variable
Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY");
' Method 1: In code
IronXL.License.LicenseKey = "YOUR-LICENSE-KEY"
' Method 2: Using app.config or web.config
' Add to configuration file:
' <appSettings>
' <add key="IronXL.LicenseKey" value="YOUR-LICENSE-KEY"/>
' </appSettings>
' Method 3: Using environment variable
Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY")
Para aplicações web, você também pode configurar a licença no Web.config.
O que acontece quando o teste expira?
Quando o teste expira:
- Uma marca d'água aparece nos arquivos gerados
- Alguns recursos podem ser limitados
- A implantação em produção não é permitida
Para continuar usando o IronXL, compre uma licença comercial. A equipe oferece extensões de licença e atualizações para clientes existentes.
O que aprendemos sobre trabalhar com arquivos Excel em C#?
O IronXL é uma poderosa biblioteca .NET para criar, ler e editar arquivos Excel, oferecendo uma API intuitiva que simplifica o trabalho com documentos Excel. Ele suporta múltiplos formatos, incluindo XLS, XLSX e CSV, tornando-o versátil para vários casos de uso. O IronXL permite fácil manipulação de valores de células, fórmulas e formatação, otimizado para desempenho, manuseando eficientemente grandes arquivos e operações complexas. Sua gestão de memória garante aplicativos responsivos, e sua compatibilidade multiplataforma o torna valioso para desenvolvedores em diferentes sistemas operacionais.
Quer você esteja criando aplicações web, software de desktop, ou serviços na nuvem, o IronXL fornece as ferramentas necessárias para trabalhar efetivamente com arquivos Excel em C#. Para recursos mais avançados, consulte a documentação completa e explore os amplos exemplos de código.
Principais conclusões:
- Não é necessária a instalação do Microsoft Office
- Suporte multiplataforma para Windows, Linux, macOS
- Compreensivas opções de estilo e formatação
- Suporte para fórmulas e cálculos
- Recursos de segurança incluindo proteção por senha
- Fácil exportação e importação de dados
- Excelentes otimizações de desempenho
Mantenha-se atualizado com os últimos recursos e melhorias conferindo o changelog e os marcos para os contínuos aprimoramentos do IronXL.
Perguntas frequentes
Como posso manipular arquivos do Excel em C# sem o Microsoft Excel instalado?
Você pode usar o IronXL, uma biblioteca C# da Iron Software, para ler, escrever e manipular documentos do Excel sem precisar do Microsoft Excel. Ele suporta vários formatos, como XLS, XLSX e CSV, e pode ser usado em aplicações como serviços web, aplicativos desktop e consoles.
Quais são os passos envolvidos na configuração de um projeto do Visual Studio para funcionar com o Excel em C#?
Para configurar um projeto do Visual Studio para trabalhar com o Excel em C#, instale o IronXL através do Gerenciador de Pacotes NuGet. Use o comando: dotnet add package IronXL.Excel --version 2024.8.5 no Console do Gerenciador de Pacotes para adicionar a biblioteca ao seu projeto.
Posso realizar cálculos em arquivos do Excel usando C#?
Sim, usando o IronXL, você pode realizar cálculos em arquivos do Excel. A biblioteca oferece suporte a fórmulas do Excel, permitindo automatizar cálculos diretamente em sua aplicação C#.
Como faço para converter um arquivo Excel em HTML usando C#?
O IronXL oferece o método ExportToHtml para converter arquivos Excel em HTML. Esse método permite opções de personalização para garantir que o HTML gerado atenda às suas necessidades.
Quais são os benefícios de usar o IronXL para manipulação de arquivos Excel em C#?
O IronXL oferece facilidade de uso com uma API intuitiva, desempenho otimizado para lidar com arquivos Excel grandes e versatilidade para diversas aplicações. Sua compatibilidade multiplataforma e documentação completa aumentam ainda mais sua utilidade.
Posso aplicar estilos avançados às células do Excel usando o IronXL?
Sim, com o IronXL, você pode aplicar estilos avançados às células do Excel, como personalizar fonte, tamanho, cor, bordas e alinhamento usando as propriedades de Estilo em cada célula.
O IronXL é adequado para manipulação de arquivos Excel em diferentes plataformas?
Sim, o IronXL foi projetado para ser multiplataforma, compatível com Windows, macOS, Linux e ambientes como Docker, Azure e AWS, tornando-o ideal para diversos cenários de implantação.
Como faço para ler os valores de uma célula de um arquivo Excel usando o IronXL em C#?
Com o IronXL, você pode ler valores de células de um arquivo Excel carregando o arquivo usando WorkBook.Load , selecionando a planilha e acessando valores ou intervalos de células específicos usando seus endereços.
O que torna o IronXL uma ferramenta poderosa para manipular arquivos Excel em C#?
O IronXL é poderoso devido ao seu suporte a múltiplos formatos (XLS, XLSX, CSV), recursos de fórmulas e formatação, criptografia para segurança e sua capacidade de lidar com arquivos grandes de forma eficiente em diferentes sistemas operacionais.



