Ir para o conteúdo do rodapé
USANDO O IRONXL

Como abrir arquivos do Excel em C# com IronXL

Abrir e trabalhar com arquivos Excel em C# é algo que quase todo desenvolvedor .NET encontra cedo ou tarde. Seja você automatizando relatórios semanais, processando importações de dados ou criando ferramentas que geram planilhas rapidamente, a biblioteca que você escolher pode fazer uma diferença significativa em termos de velocidade, confiabilidade e flexibilidade de implantação.

Este tutorial explica como abrir arquivos Excel em C# usando o IronXL -- uma biblioteca leve de Excel que lê, edita e escreve cadernos de trabalho sem exigir a instalação do Microsoft Office. Você verá como é simples carregar dados, acessar planilhas e trabalhar com células programaticamente, tudo dentro do seu aplicativo C#.

Por Que Escolher o IronXL em Vez do Microsoft.Office.Interop.Excel?

Embora o Microsoft.Office.Interop.Excel tenha sido a abordagem tradicional para automação do Excel, ele apresenta limitações significativas que tornam o IronXL a melhor escolha para aplicações modernas. A própria Microsoft recomenda não usar o Office Interop em servidores, citando instabilidade, problemas de escalabilidade e cenários de implantação não suportados.

Comparação de recursos IronXL vs Microsoft.Office.Interop.Excel
Recurso IronXL Microsoft.Office.Interop.Excel
**Instalação do Excel Necessária** Não Sim
**Suporte Multiplataforma** Windows, Linux, macOS Somente para Windows
**Implantação em Servidor** Totalmente suportado Não recomendado pela Microsoft
**Gerenciamento de Memória** Automático Limpeza manual de COM necessária
**Complexidade da API** Simples e intuitiva Interfaces COM complexas
**Suporte a Formato de Arquivo** XLS, XLSX, CSV, TSV, JSON Limitado a formatos do Excel
**Segurança de Threads** Apoiado Apenas monothread

IronXL elimina a dependência do Microsoft Excel, tornando-o ideal para ambientes de servidor, contêineres Docker e plataformas em nuvem como Azure. A biblioteca oferece uma API limpa e moderna que remove a necessidade de lidar com objetos COM ou gerenciamento manual de memória. Além de abrir arquivos, IronXL lida com tudo, desde avaliação de fórmulas até geração de gráficos e estilização de células.

Como instalar o IronXL em um projeto .NET?

Começar com o IronXL é simples -- ele pode ser adicionado ao seu projeto em minutos através do Gerenciador de Pacotes do NuGet. Abra o Console do Gerenciador de Pacotes no Visual Studio e execute:

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

Ambos os comandos instalam o mesmo pacote. Use o primeiro no Console do Gerenciador de Pacotes do Visual Studio, e o segundo com o CLI do .NET. Após a instalação, você pode verificar se a referência do pacote aparece no arquivo do seu projeto em <PackageReference Include="IronXl.Excel" />.

!{--010011000100100101000010010100100100000101010010010110010101111101000111010001010101010100010111110101001101010100010000010101001001010100010001010100010001011111010101110100100 101010100010010000101111101010000010100100111101000100010101010100001101010100010111110101010001010010010010010010010100000101001100010111110100001001001100010011110100001101001011--}

Quais Versões .NET o IronXL Suporta?

IronXL é voltado para todo o espectro de versões modernas do .NET, incluindo .NET 10, .NET 8, .NET 6, .NET Framework 4.6.2 e superiores, e .NET Standard 2.0. Esta ampla gama de suporte significa que você pode usar IronXL em novos projetos direcionados ao .NET 10, bem como em aplicativos legados que rodam no tradicional .NET Framework.

A biblioteca está disponível como um único pacote NuGet que seleciona automaticamente o binário correto para o seu framework de destino. Sem dependências adicionais, sem instalações específicas de plataforma e sem necessidade de licença do Excel. Visite o guia de compatibilidade do IronXL para uma lista completa de runtimes e plataformas suportadas.

Como Você Abre e Lê um Arquivo Excel Existente em C#?

Abrir arquivos Excel existentes com o IronXL requer apenas algumas linhas de código. A biblioteca suporta leitura de arquivos XLS e XLSX, assim como os formatos CSV e TSV, através de uma API unificada. O exemplo a seguir demonstra o fluxo de trabalho essencial:

// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");

// Access the first worksheet by index
WorkSheet sheet = workbook.WorkSheets[0];

// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");

// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");

// Read a numeric value
decimal revenue = sheet["B2"].DecimalValue;
Console.WriteLine($"Revenue: {revenue:C}");

// Check cell data type before reading
var cell = sheet["C3"];
Console.WriteLine($"Type: {cell.Type}, Value: {cell.Value}");
// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");

// Access the first worksheet by index
WorkSheet sheet = workbook.WorkSheets[0];

// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");

// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");

// Read a numeric value
decimal revenue = sheet["B2"].DecimalValue;
Console.WriteLine($"Revenue: {revenue:C}");

// Check cell data type before reading
var cell = sheet["C3"];
Console.WriteLine($"Type: {cell.Type}, Value: {cell.Value}");
$vbLabelText   $csharpLabel

O método WorkBook.Load() detecta automaticamente o formato do arquivo -- XLS, XLSX, CSV ou TSV -- e lida com a análise sem necessidade de configuração adicional. Você acessa as planilhas por índice usando workbook.WorkSheets[0] ou por nome usando GetWorkSheet(). Os valores das células individuais são legíveis através da notação de colchetes (sheet["A1"]), tornando o código conciso e expressivo. Para a lista completa de tipos de arquivo suportados, consulte a documentação do SDK Open XML sobre SpreadsheetML e a página do pacote NuGet do IronXL.

Para acesso tipado, o IronXL expõe propriedades como .StringValue, .DecimalValue, .IntValue, .BoolValue e .DateTimeValue diretamente nas células. Isso elimina a adivinhação de tipo comum com APIs baseadas em objetos genéricos. Para cenários mais complexos, visite o guia de trabalho com intervalos do Excel e a documentação de formatos de dados de células.

Saída

Como Abrir Aplicativos de Arquivos Excel em C# Usando IronXL: Figura 1 - Abrindo e lendo um arquivo Excel de exemplo

Como Carregar Arquivos do Excel a Partir de um Stream ou Byte Array?

Em aplicações web e funções em nuvem, você frequentemente recebe dados de arquivo como um stream ou byte array, em vez de um caminho de arquivo. IronXL lida com ambos os casos:

// Load from a byte array (e.g., from a database or HTTP response)
byte[] fileBytes = File.ReadAllBytes("sales-data.xlsx");
WorkBook workbookFromBytes = WorkBook.Load(fileBytes);

// Load from a MemoryStream
using var memStream = new MemoryStream(fileBytes);
WorkBook workbookFromStream = WorkBook.Load(memStream);

// Access data the same way regardless of source
WorkSheet sheet = workbookFromStream.DefaultWorkSheet;
Console.WriteLine(sheet["A1"].StringValue);
// Load from a byte array (e.g., from a database or HTTP response)
byte[] fileBytes = File.ReadAllBytes("sales-data.xlsx");
WorkBook workbookFromBytes = WorkBook.Load(fileBytes);

// Load from a MemoryStream
using var memStream = new MemoryStream(fileBytes);
WorkBook workbookFromStream = WorkBook.Load(memStream);

// Access data the same way regardless of source
WorkSheet sheet = workbookFromStream.DefaultWorkSheet;
Console.WriteLine(sheet["A1"].StringValue);
$vbLabelText   $csharpLabel

O carregamento baseado em fluxo é particularmente útil em controladores ASP.NET Core onde você recebe um upload IFormFile. Simplesmente chame formFile.OpenReadStream() e passe o resultado para WorkBook.Load(). Para padrões de integração completos do ASP.NET Core, consulte o tutorial de Excel no ASP.NET Core.

Como Criar Nãovos Workbooks do Excel em C#?

Criar novos arquivos do Excel é igualmente simples com as capacidades de criação de planilhas do IronXL. O exemplo a seguir constrói um relatório trimestral formatado:

// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Add metadata
workbook.Metadata.Author = "Sales Department";
workbook.Metadata.Title = "Q1 Revenue Report";

// Create a named worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");

// Add header row
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units Sold";
sheet["C1"].Value = "Revenue";

// Add data rows
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 120;
sheet["C2"].Value = 45000;

sheet["A3"].Value = "Support Contracts";
sheet["B3"].Value = 55;
sheet["C3"].Value = 27500;

// Add a SUM formula
sheet["C4"].Formula = "=SUM(C2:C3)";

// Apply number formatting
sheet["C2:C4"].FormatString = "$#,##0.00";

// Save the workbook to disk
workbook.SaveAs("quarterly-report.xlsx");
Console.WriteLine("Workbook saved successfully.");
// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Add metadata
workbook.Metadata.Author = "Sales Department";
workbook.Metadata.Title = "Q1 Revenue Report";

// Create a named worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");

// Add header row
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Units Sold";
sheet["C1"].Value = "Revenue";

// Add data rows
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 120;
sheet["C2"].Value = 45000;

sheet["A3"].Value = "Support Contracts";
sheet["B3"].Value = 55;
sheet["C3"].Value = 27500;

// Add a SUM formula
sheet["C4"].Formula = "=SUM(C2:C3)";

// Apply number formatting
sheet["C2:C4"].FormatString = "$#,##0.00";

// Save the workbook to disk
workbook.SaveAs("quarterly-report.xlsx");
Console.WriteLine("Workbook saved successfully.");
$vbLabelText   $csharpLabel

O método WorkBook.Create() inicializa um novo livro no formato especificado. Você pode adicionar várias planilhas usando CreateWorkSheet(), preencher células com vários tipos de dados, incluindo strings, números, booleanos e datas, e aplicar fórmulas do Excel diretamente através da propriedade Formula. A biblioteca lida automaticamente com a conversão de tipos de dados e requisitos de formatação específicos do Excel.

Para estilizar cabeçalhos e adicionar bordas, use a API de estilização de células. Para geração de relatórios baseada em modelos, consulte o guia de exportação de modelos de Excel existentes.

Saída

Como Abrir Aplicativos de Arquivos Excel em C# Usando IronXL: Figura 2 - Criando novos livros Excel

Como Ler e Processar Dados de Planilhas do Excel em Massa?

IronXL lida com extração de dados e processamento em massa eficientemente através de operações baseadas em intervalo e conversão para DataTable:

// Load a workbook and select the default sheet
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a rectangular range of cells
var range = sheet["A1:D10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Convert the worksheet to a DataTable for database integration
System.Data.DataTable dataTable = sheet.ToDataTable(useFirstRowAsColumnHeaders: true);
Console.WriteLine($"Rows: {dataTable.Rows.Count}, Columns: {dataTable.Columns.Count}");

// Use aggregate functions directly on a range
decimal total = sheet["C2:C10"].Sum();
decimal average = sheet["C2:C10"].Avg();
decimal maxValue = sheet["C2:C10"].Max();

Console.WriteLine($"Total: {total:C}");
Console.WriteLine($"Average: {average:C}");
Console.WriteLine($"Max: {maxValue:C}");

// Filter and find rows using LINQ on the DataTable
var highValue = dataTable.AsEnumerable()
    .Where(row => row.Field<decimal>("Revenue") > 10000)
    .ToList();
Console.WriteLine($"High-value rows: {highValue.Count}");
// Load a workbook and select the default sheet
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Read a rectangular range of cells
var range = sheet["A1:D10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}

// Convert the worksheet to a DataTable for database integration
System.Data.DataTable dataTable = sheet.ToDataTable(useFirstRowAsColumnHeaders: true);
Console.WriteLine($"Rows: {dataTable.Rows.Count}, Columns: {dataTable.Columns.Count}");

// Use aggregate functions directly on a range
decimal total = sheet["C2:C10"].Sum();
decimal average = sheet["C2:C10"].Avg();
decimal maxValue = sheet["C2:C10"].Max();

Console.WriteLine($"Total: {total:C}");
Console.WriteLine($"Average: {average:C}");
Console.WriteLine($"Max: {maxValue:C}");

// Filter and find rows using LINQ on the DataTable
var highValue = dataTable.AsEnumerable()
    .Where(row => row.Field<decimal>("Revenue") > 10000)
    .ToList();
Console.WriteLine($"High-value rows: {highValue.Count}");
$vbLabelText   $csharpLabel

A sintaxe de seleção de intervalo (sheet["A1:D10"]) oferece uma maneira elegante de trabalhar com várias células ao mesmo tempo. O método ToDataTable() converte os dados da planilha em um System.Data.DataTable, que se integra diretamente com Entity Framework, controles de vinculação de dados e operações de cópia em massa do SQL. O IronXL também suporta funções agregadas -- Sum(), Avg(), Max() e Min() -- diretamente em intervalos, eliminando a necessidade de escrever código de iteração manual.

Para lidar eficientemente com conjuntos de dados muito grandes, consulte a referência completa da API do IronXL para padrões de processamento por streaming e fragmentados.

Como Abrir Aplicativos de Arquivos Excel em C# Usando IronXL: Figura 3 - Saída de dados do Excel processados

Como Filtrar e Pesquisar Células em Uma Planilha?

Além do acesso baseado em intervalos, o IronXL permite que você procure células por valor, aplique lógica condicional e itere linhas e colunas programaticamente:

WorkBook workbook = WorkBook.Load("products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Get total row and column counts
int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Sheet dimensions: {rowCount} rows x {colCount} columns");

// Iterate over all rows and columns
for (int row = 1; row <= rowCount; row++)
{
    for (int col = 1; col <= colCount; col++)
    {
        var cell = sheet.GetCellAt(row, col);
        if (cell != null && !string.IsNullOrEmpty(cell.Text))
        {
            Console.WriteLine($"[{row},{col}] = {cell.Text}");
        }
    }
}

// Find the first cell containing specific text
var searchResult = sheet["A1:Z100"]
    .FirstOrDefault(c => c.StringValue.Contains("discontinued", StringComparison.OrdinalIgnoreCase));

if (searchResult != null)
{
    Console.WriteLine($"Found 'discontinued' at: {searchResult.AddressString}");
}
WorkBook workbook = WorkBook.Load("products.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Get total row and column counts
int rowCount = sheet.RowCount;
int colCount = sheet.ColumnCount;

Console.WriteLine($"Sheet dimensions: {rowCount} rows x {colCount} columns");

// Iterate over all rows and columns
for (int row = 1; row <= rowCount; row++)
{
    for (int col = 1; col <= colCount; col++)
    {
        var cell = sheet.GetCellAt(row, col);
        if (cell != null && !string.IsNullOrEmpty(cell.Text))
        {
            Console.WriteLine($"[{row},{col}] = {cell.Text}");
        }
    }
}

// Find the first cell containing specific text
var searchResult = sheet["A1:Z100"]
    .FirstOrDefault(c => c.StringValue.Contains("discontinued", StringComparison.OrdinalIgnoreCase));

if (searchResult != null)
{
    Console.WriteLine($"Found 'discontinued' at: {searchResult.AddressString}");
}
$vbLabelText   $csharpLabel

Esse padrão é comum em fluxos de trabalho de validação de dados onde você precisa escanear um arquivo carregado buscando valores específicos antes de processá-lo mais adiante. Para casos de uso de filtragem avançada, revise a documentação de seleção de intervalo do Excel.

Quais Cenários de Implantação Este Método Suporta?

Uma das vantagens mais práticas de usar o IronXL é sua capacidade de operar sem o Microsoft Office instalado em qualquer lugar do sistema. Isso cria uma flexibilidade de implantação que as soluções baseadas em Interop simplesmente não conseguem igualar:

Implantação em Nuvem e Container

IronXL roda no Azure App Service, AWS Lambda e Google Cloud Run sem nenhuma configuração especial. Como não possui dependência do Office, você evita tanto o custo de licenciamento quanto a complexidade de incluir o Office em uma imagem de container. Um Dockerfile mínimo para um aplicativo .NET 10 usando IronXL precisa apenas da imagem de execução padrão do .NET.

A implantação baseada em Docker é igualmente direta. O guia Docker do IronXL cobre configurações de containers Debian, Alpine e Windows. Em todos os casos, você instala o IronXL via NuGet e ele roda sem pacotes adicionais do sistema.

Uso em Servidor e Pipeline CI/CD

Ambientes de servidor geralmente não têm uma GUI e não podem rodar aplicações que dependem de uma sessão de desktop do Windows. IronXL roda inteiramente em modo sem cabeça, tornando-o adequado para:

  • Gerar relatórios do Excel em trabalhos de fundo agendados
  • Processar planilhas carregadas em APIs ASP.NET Core
  • Exportar resultados de consultas de DataTable ou banco de dados para XLSX em pipelines automatizados
  • Validar arquivos de dados importados durante execuções de teste CI/CD

Para o ASP.NET Core especificamente, veja o tutorial de exportação de Excel no ASP.NET Core, que cobre streaming de arquivos, cabeçalhos de resposta e padrões adequados de descarte.

Desenvolvimento Multi-Plataforma

IronXL direciona o .NET Standard 2.0 e roda nativamente no Linux e macOS, permitindo fluxos de trabalho de desenvolvimento multi-plataforma. Desenvolvedores no macOS podem escrever e testar código de geração de Excel localmente com total confiança de que o mesmo binário funcionará de forma idêntica em um servidor de produção Linux. Não há APIs específicas da plataforma ou blocos de compilação condicional necessários.

Para mais detalhes sobre ambientes suportados, visite a visão geral de introdução ao IronXL.

Como você lida com operações comuns do Excel além da leitura básica?

Ler e escrever células é apenas a base. A automação do Excel no mundo real normalmente envolve formatação, fórmulas, gestão de planilhas e conversão de formatos.

Formatando Células e Aplicando Estilos

IronXL expõe uma API completa de estilo cobrindo fontes, cores, bordas, alinhamento e formatos numéricos:

WorkBook workbook = WorkBook.Load("report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Apply bold, font size, and background color to header row
var headerRange = sheet["A1:F1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.Font.Height = 12;
headerRange.Style.SetBackgroundColor("#4472C4");
headerRange.Style.Font.Color = "#FFFFFF";
headerRange.Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center;

// Format a currency column
sheet["D2:D100"].FormatString = "$#,##0.00";

// Apply a date format
sheet["E2:E100"].FormatString = "yyyy-MM-dd";

// Add borders to a data range
var dataRange = sheet["A1:F20"];
dataRange.Style.Border.Bottom.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.Border.Right.Type = IronXl.Styles.BorderType.Thin;

workbook.SaveAs("formatted-report.xlsx");
WorkBook workbook = WorkBook.Load("report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;

// Apply bold, font size, and background color to header row
var headerRange = sheet["A1:F1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.Font.Height = 12;
headerRange.Style.SetBackgroundColor("#4472C4");
headerRange.Style.Font.Color = "#FFFFFF";
headerRange.Style.HorizontalAlignment = IronXl.Styles.HorizontalAlignment.Center;

// Format a currency column
sheet["D2:D100"].FormatString = "$#,##0.00";

// Apply a date format
sheet["E2:E100"].FormatString = "yyyy-MM-dd";

// Add borders to a data range
var dataRange = sheet["A1:F20"];
dataRange.Style.Border.Bottom.Type = IronXl.Styles.BorderType.Thin;
dataRange.Style.Border.Right.Type = IronXl.Styles.BorderType.Thin;

workbook.SaveAs("formatted-report.xlsx");
$vbLabelText   $csharpLabel

Para um passo a passo completo das opções de estilo, veja como estilizar células, bordas e fontes.

Convertendo Entre Formatos Excel e CSV

IronXL lida diretamente com a conversão de formatos, permitindo carregar um CSV e salvá-lo como XLSX, ou exportar um arquivo XLSX para CSV para processamento posterior:

// Load a CSV file and save as XLSX
WorkBook csvBook = WorkBook.Load("data-import.csv");
csvBook.SaveAs("data-import.xlsx");

// Load an XLSX file and export as CSV
WorkBook xlsxBook = WorkBook.Load("report.xlsx");
xlsxBook.DefaultWorkSheet.SaveAsCsv("report.csv");
// Load a CSV file and save as XLSX
WorkBook csvBook = WorkBook.Load("data-import.csv");
csvBook.SaveAs("data-import.xlsx");

// Load an XLSX file and export as CSV
WorkBook xlsxBook = WorkBook.Load("report.xlsx");
xlsxBook.DefaultWorkSheet.SaveAsCsv("report.csv");
$vbLabelText   $csharpLabel

Para mais detalhes sobre o manuseio de CSV, incluindo configuração de delimitadores e opções de codificação, veja o tutorial de leitura CSV em C# e o guia de conversão de CSV para XLSX.

Como você começa com uma avaliação gratuita?

IronXL está disponível para download com uma licença de desenvolvimento gratuita que permite testar o conjunto completo de recursos antes de efetuar uma compra. Não há restrições de recursos durante o teste - a mesma biblioteca que é executada em produção é aquela que você avalia.

Para começar:

  1. Instale o pacote via NuGet:
    dotnet add package IronXL
    dotnet add package IronXL
    SHELL
  2. Visite a página de licenciamento do IronXL para obter uma chave de teste gratuita.
  3. Aplique a chave no código antes de qualquer chamada ao IronXL:
    IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
    IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
    $vbLabelText   $csharpLabel

Licenças estão disponíveis para desenvolvedores individuais, equipes e organizações. A página do produto IronXL fornece detalhes completos de preços e opções de implantação, incluindo direitos de distribuição sem royalties. Para uma visão mais abrangente de todos os produtos da Iron Software e como eles se integram, veja a suíte de produtos Iron Software.

Perguntas frequentes

Como posso abrir arquivos do Excel em C# sem o Microsoft Office?

Você pode usar o IronXL para abrir arquivos do Excel em C# sem precisar do Microsoft Office. O IronXL oferece uma alternativa moderna ao Interop, proporcionando melhor desempenho e sem dependências do Excel.

Quais são os benefícios de usar o IronXL para manipular arquivos Excel em C#?

O IronXL oferece diversas vantagens, incluindo melhor desempenho, independência da instalação do Excel e maior flexibilidade de implementação. Ele permite que os desenvolvedores automatizem relatórios, importem dados e gerem planilhas com eficiência.

O IronXL consegue lidar com arquivos do Excel para tarefas de automação?

Sim, o IronXL é muito adequado para tarefas de automação, como gerar relatórios semanais, ler importações de dados e criar ferramentas para geração dinâmica de planilhas.

O IronXL é um substituto adequado para o Interop em aplicações C#?

O IronXL é um substituto adequado para o Interop, oferecendo uma solução moderna que elimina a necessidade de dependências do Excel e melhora o desempenho do aplicativo ao trabalhar com arquivos do Excel.

O IronXL suporta leitura e gravação de arquivos Excel?

O IronXL oferece suporte completo tanto para leitura quanto para gravação em arquivos Excel, tornando-se uma ferramenta versátil para desenvolvedores .NET que trabalham com dados de planilhas.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me