IRONSOFTWAREHOME

Ler Arquivos Excel em ASP.NET MVC Usando C# com IronXL

Curtis Chau
Curtis Chau
Updated: 4 de junho de 2026

O IronXL permite que desenvolvedores ASP.NET MVC leiam arquivos Excel diretamente em C# sem dependências do Microsoft Office, convertendo dados Excel em System.Data.DataTable para fácil exibição em visualizações da web com apenas algumas linhas de código.

Início Rápido: Carregar e Converter Planilha Excel para DataTable em MVC

Este exemplo mostra como começar em segundos: carregue um caderno Excel, escolha sua primeira planilha e converta-a em um System.Data.DataTable usando IronXL — sem Interop, sem complicações.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Copie e execute este trecho de código.

    var dataTable = IronXL.WorkBook.Load("CustomerData.xlsx").DefaultWorkSheet.ToDataTable(true);
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como Criar um Projeto ASP.NET para Leitura de Excel?

Por Que O Visual Studio 2022 Funciona Melhor para Isso?

Usando o Visual Studio 2022, crie um novo projeto ASP.NET. O Visual Studio 2022 oferece excelente suporte para frameworks .NET 6+, melhor IntelliSense para métodos IronXL e melhor desempenho ao trabalhar com arquivos Excel grandes. A integração do NuGet do IDE torna a instalação do IronXL particularmente simples.

Qual Template de Projeto Devo Escolher?

Para ler arquivos Excel em ASP.NET, escolha o template "Aplicativo Web ASP.NET Core (Model-View-Controller)". Este template fornece uma estrutura limpa de MVC que separa o processamento de dados (leitura de Excel) da lógica de apresentação. O padrão MVC funciona perfeitamente com a conversão IronXL da DataTable, permitindo que você carregue planilhas em controladores e as exiba em visualizações de forma integrada.

Qual Versão do .NET é Recomendada?

O IronXL funciona com o .NET Framework 4.6.2+ e o .NET Core 3.1+. Para novos projetos ASP.NET MVC, use .NET 6.0 ou superior para desempenho e segurança ideais. Essas versões oferecem melhor gerenciamento de memória ao processar grandes arquivos Excel e melhor suporte a async/await para conversão de tipos de arquivo de planilha.

Como Instalo a Biblioteca IronXL?

Quais São os Requisitos de Instalação?


Qual Método de Instalação É Mais Rápido?

Após criar o novo projeto, instale a biblioteca IronXL. Siga estas etapas para instalar o IronXL. Abra o Console do Gerenciador de Pacotes NuGet e execute o seguinte comando:

PM > Install-Package IronXL.Excel

Como Posso Verificar a Instalação?

Para verificar se o IronXL está instalado corretamente, verifique as dependências do seu projeto no Solution Explorer. Você deve ver "IronXL" listado em "Dependencies > Packages". Além disso, tente adicionar using IronXL; na parte superior do seu arquivo de controlador - o IntelliSense deve reconhecer imediatamente o namespace. Para solucionar problemas de instalação, visite o guia de licenciamento.

Como Ler um Arquivo Excel no Meu Controlador?

Qual Código Vai na Ação de Controlador?

Abra o controlador padrão em seu projeto ASP.NET (por exemplo, HomeController.cs) e substitua o método Index pelo seguinte código:

using IronXL;
using System.Data;

public ActionResult Index()
{
    // Load the Excel workbook from a specified path.
    WorkBook workBook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");

    // Access the first worksheet from the workbook.
    WorkSheet workSheet = workBook.WorkSheets.First();

    // Convert the worksheet data to a DataTable object.
    // The 'true' parameter uses the first row as column headers
    var dataTable = workSheet.ToDataTable(true);

    // Send the DataTable to the view for rendering.
    return View(dataTable);
}

Por Que Usar DataTable ao Invés de Outro Formato?

No método de ação Index, carregue o arquivo Excel usando o método IronXL da Load. O caminho do arquivo Excel (incluindo o nome do arquivo) é fornecido como um parâmetro para a chamada do método. Em seguida, selecione a primeira folha Excel como a folha de trabalho e carregue os dados contidos nela em um objeto DataTable. Finalmente, envie o DataTable para o frontend.

O DataTable é ideal para ASP.NET MVC porque se integra perfeitamente às visualizações do Razor e fornece suporte interno para iterar em linhas e colunas. Ao contrário dos objetos personalizados, o DataTable não exige mapeamento de modelo e lida automaticamente com tipos de dados mistos. Você também pode exportar DataSet e DataTable de volta para o Excel quando necessário.

E o Tratamento de Erros para Arquivos Ausentes?

O tratamento robusto de erros garante que sua aplicação não falhe quando arquivos Excel estiverem faltando ou corrompidos. Aqui está uma versão aprimorada com manuseio adequado de exceções:

public ActionResult Index()
{
    try
    {
        string filePath = @"C:\Files\Customer Data.xlsx";
        
        // Check if file exists before attempting to load
        if (!System.IO.File.Exists(filePath))
        {
            ViewBag.Error = "Excel file not found at specified location.";
            return View(new DataTable());
        }

        // Load workbook with error handling
        WorkBook workBook = WorkBook.Load(filePath);
        
        // Verify worksheet exists
        if (workBook.WorkSheets.Count == 0)
        {
            ViewBag.Error = "No worksheets found in the Excel file.";
            return View(new DataTable());
        }

        WorkSheet workSheet = workBook.WorkSheets.First();
        var dataTable = workSheet.ToDataTable(true);
        
        return View(dataTable);
    }
    catch (Exception ex)
    {
        // Log the exception (consider using a logging framework)
        ViewBag.Error = $"Error reading Excel file: {ex.Message}";
        return View(new DataTable());
    }
}

Como posso selecionar diferentes planilhas?

O IronXL fornece várias maneiras de selecionar e trabalhar com planilhas específicas. Você pode acessar planilhas por índice, nome ou iterar por todas as planilhas disponíveis:

// Method 1: Select by worksheet name
WorkSheet namedSheet = workBook.GetWorkSheet("Sales Data");

// Method 2: Select by index (zero-based)
WorkSheet secondSheet = workBook.WorkSheets[1];

// Method 3: Select the default/active worksheet
WorkSheet defaultSheet = workBook.DefaultWorkSheet;

// Method 4: Iterate through all worksheets
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    string sheetName = sheet.Name;
    // Process each worksheet
}

Como exibir dados do Excel em uma página da web?

Que código de visualização é necessário?

O próximo exemplo mostra como exibir o DataTable retornado no exemplo anterior em um navegador web.

O arquivo Excel usado neste exemplo é mostrado abaixo:

Planilha do Excel com nomes de clientes, custos de envio e preços unitários - dados de exemplo para o tutorial de exibição na web

Arquivo Excel

Abra o index.cshtml (visualização de índice) e substitua o código pelo seguinte código HTML:

@{
    ViewData["Title"] = "Home Page";
}

@using System.Data
@model DataTable

<div class="text-center">
    <h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>

@* Check for errors first *@
@if (ViewBag.Error != null)
{
    <div class="alert alert-danger">
        @ViewBag.Error
    </div>
}

@* Display table only if data exists *@
@if (Model != null && Model.Rows.Count > 0)
{
    <table class="table table-dark">
        <tbody>
            @foreach (DataRow row in Model.Rows)
            {
                <tr>
                    @for (int i = 0; i < Model.Columns.Count; i++)
                    {
                        <td>@row[i]</td>
                    }
                </tr>
            }
        </tbody>
    </table>
}
else
{
    <p>No data to display.</p>
}
Text

Por que usar o Bootstrap para estilizar tabelas?

O código acima usa o DataTable retornado do método Index como um modelo. Cada linha da tabela é impressa na página web usando um loop @for, incluindo a formatação do Bootstrap para decoração.

O Bootstrap fornece designs de tabelas responsivas que se ajustam automaticamente a diferentes tamanhos de tela - crucial para aplicações web modernas. A classe table-dark cria uma tabela com tema escuro atraente e fácil de ler. Para formatar o Excel de forma mais avançada, como bordas e alinhamento de células ou padrões e cores de fundo, o IronXL fornece métodos adicionais para acessar dados estruturados diretamente.

Como é a Saída Final?

Executar o projeto produz os resultados exibidos abaixo:

Tabela Bootstrap exibindo dados de clientes do Excel com nomes, custos de envio e preços unitários em um aplicativo ASP.NET MVC

Tabela Bootstrap

Como posso adicionar cabeçalhos à tabela?

Para exibir cabeçalhos de coluna do seu arquivo Excel, modifique o código de visualização para incluir uma seção de cabeçalho da tabela. Ao chamar ToDataTable(true), o IronXL usa automaticamente a primeira linha como nomes de colunas:

@if (Model != null && Model.Rows.Count > 0)
{
    <table class="table table-dark">
        <thead>
            <tr>
                @foreach (DataColumn column in Model.Columns)
                {
                    <th>@column.ColumnName</th>
                }
            </tr>
        </thead>
        <tbody>
            @foreach (DataRow row in Model.Rows)
            {
                <tr>
                    @for (int i = 0; i < Model.Columns.Count; i++)
                    {
                        <td>@row[i]</td>
                    }
                </tr>
            }
        </tbody>
    </table>
}

Esse aprimoramento exibe os cabeçalhos de coluna corretos, como "Nome do Cliente", "Custo de Envio" e "Preço Unitário" do seu arquivo Excel. Para cenários mais complexos envolvendo intervalos nomeados ou tabelas nomeadas, o IronXL fornece métodos adicionais para acessar dados estruturados diretamente.

Perguntas frequentes

Como faço para ler arquivos do Excel em ASP.NET MVC sem o Microsoft Office?

O IronXL permite ler arquivos Excel diretamente em C# sem depender do Microsoft Office. Basta instalar o IronXL via NuGet e usar WorkBook.Load() para abrir o arquivo Excel e convertê-lo em um DataTable com apenas uma linha de código: var dataTable = IronXL.WorkBook.Load('CustomerData.xlsx').DefaultWorkSheet.ToDataTable(true);

Qual é a maneira mais rápida de converter dados do Excel em um DataTable no ASP.NET?

O IronXL fornece o método ToDataTable() que converte instantaneamente planilhas do Excel em objetos System.Data.DataTable. Após carregar sua pasta de trabalho com o IronXL, acesse qualquer planilha e chame ToDataTable(true) para incluir os cabeçalhos. Essa conversão requer apenas uma linha de código e funciona perfeitamente com as views do ASP.NET MVC.

Qual versão do .NET devo usar para processar arquivos Excel em aplicações web?

O IronXL é compatível com o .NET Framework 4.6.2+ e o .NET Core 3.1+. Para novos projetos ASP.NET MVC, recomenda-se o .NET 6.0 ou superior, pois oferece melhor gerenciamento de memória ao processar arquivos Excel grandes com o IronXL e melhor suporte a async/await para operações em planilhas.

Qual modelo de projeto do Visual Studio funciona melhor para a funcionalidade de leitura de arquivos Excel?

Ao criar seu projeto, escolha o modelo 'ASP.NET Core Web App (Model-View-Controller)'. Essa estrutura MVC complementa perfeitamente o recurso de conversão de DataTable do IronXL, permitindo carregar e processar arquivos Excel nos controladores e exibir os dados de forma organizada nas visualizações.

Como faço para instalar a biblioteca de leitura do Excel no meu projeto ASP.NET?

Instale o IronXL através do Console do Gerenciador de Pacotes NuGet executando 'Install-Package IronXL.Excel'. Após a instalação, verifique se ele foi adicionado corretamente, conferindo as dependências do seu projeto e adicionando 'using IronXL;' ao seu controlador - o IntelliSense deverá reconhecer o namespace imediatamente.

Why choose DataTable format when using IronXL?

The `DataTable` format is ideal for ASP.NET MVC applications because it integrates seamlessly with Razor views, allows for straightforward iteration over data rows and columns without model mapping, and accommodates mixed data types efficiently.

What steps are required to install IronXL in an ASP.NET MVC project?

Installation involves adding IronXL via the NuGet Package Manager in Visual Studio. It requires opening the NuGet Package Manager Console and executing a specific command to add IronXL to the project's dependencies.

How do you handle errors when reading Excel files with IronXL?

IronXL supports robust error handling such as checking file existence before loading, catching exceptions during the workbook loading process, and managing missing worksheet scenarios. This ensures application stability even if Excel files are corrupted or absent.

Can IronXL select specific worksheets from an Excel file?

Yes, IronXL allows developers to select worksheets by name, index, or default setting, and it also provides functionality to iterate through all available worksheets in a workbook.

What are some styling options for displaying Excel data using IronXL in web apps?

IronXL, when used with ASP.NET MVC, enables styling options like Bootstrap for responsive table layouts and additional IronXL methods for setting cell borders, alignment, patterns, and colors within spreadsheets.

Curtis Chau
Redator Técnico

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.

...
Leia mais

Pronto para começar?

Nuget Downloads 2,237,574Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronXL".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

  1. Baixe e descompacte o IronXL em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronXL.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.