Ler ficheiro XLSX em C#

Muhammad Maisam Abbas 11 dezembro 2023
  1. Leia o arquivo XLSX com o pacote LinqToExcel em C#
  2. Leia o arquivo XLSX com o pacote ExcelDataReader em C#
Ler ficheiro XLSX em C#

Este tutorial discutirá os métodos para ler um arquivo xlsx do Excel em C#.

Leia o arquivo XLSX com o pacote LinqToExcel em C#

O pacote LinqToExcel é usado para consultar arquivos Excel com o LINQ em C#. Facilita a obtenção de dados filtrados de um arquivo Excel em C#. O pacote LinqToExcel é um pacote externo e precisa ser instalado primeiro para que esta abordagem funcione. Podemos instalar este pacote usando o gerenciador de pacotes NuGet pesquisando linqtoexcel no gerenciador de pacotes NuGet. Também precisamos instalar o Microsoft Access Database Engine para o pacote LinqToExcel. Quando o pacote LinqToExcel e o Microsoft Access Database Engine estiverem finalmente instalados, podemos ler os arquivos xlsx. Veja o seguinte exemplo de código.

using ExcelDataReader;
using System.IO;
using System.Linq;

namespace read_excel_file {
  class Program {
    static void Main(string[] args) {
      var excelFile = new LinqToExcel.ExcelQueryFactory(@"C:\File\Classes.xlsx");

      var result = from row in excelFile.Worksheet("Sheet1") let item =
          new {
            RollNumber = row["Roll Number"].Cast<string>(),
            Name = row["Name"].Cast<string>(),
            Class = row["Class"].Cast<string>(),
          }
          where item.Class == "5" select item;
    }
  }
}

No código acima, usamos o LINQ para consultar o arquivo C:\File\Classes.xlsx e obter o conteúdo filtrado da Sheet1 com o pacote LinqToExcel em C#. Salvamos o valor resultante da consulta dentro da variável result.

Leia o arquivo XLSX com o pacote ExcelDataReader em C#

Também podemos usar o pacote ExcelDataReader para ler dados de arquivos Excel em C#. O pacote ExcelDataReader também é um pacote externo e não vem pré-instalado com o framework .NET. Precisamos instalá-lo para que essa abordagem funcione. Podemos instalar este pacote simplesmente pesquisando o exceldatareader no gerenciador de pacotes NuGet. O exemplo de código a seguir nos mostra como podemos ler dados de um arquivo xlsx com o pacote ExcelDataReader em C#.

using System.Data;
using System.IO;
using System.Linq;

namespace read_excel_file {
  class Program {
    static void Main(string[] args) {
      FileStream fStream = File.Open(@"C:\File\Classes.xlsx", FileMode.Open, FileAccess.Read);
      IExcelDataReader excelDataReader = ExcelReaderFactory.CreateOpenXmlReader(fStream);
      DataSet resultDataSet = excelDataReader.AsDataSet();
      excelDataReader.Close();
    }
  }
}

No código acima, lemos os dados dentro do arquivo C:\File\Classes.xlsx com o pacote ExcelDataReader em C#. Salvamos os dados resultantes na forma de tabelas dentro da variável resultDataSet. No final, liberamos os recursos mantidos pela instância excelDataReader com a função excelDataReader.Close() em C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Csharp Excel