Leer archivo XLSX en C#

Muhammad Maisam Abbas 11 diciembre 2023
  1. Leer archivo XLSX con el paquete LinqToExcel en C#
  2. Leer archivo XLSX con el paquete ExcelDataReader en C#
Leer archivo XLSX en C#

Este tutorial discutirá los métodos para leer un archivo xlsx de Excel en C#.

Leer archivo XLSX con el paquete LinqToExcel en C#

El paquete LinqToExcel se utiliza para consultar archivos de Excel con LINQ en C#. Facilita la obtención de datos filtrados de un archivo de Excel en C#. El paquete LinqToExcel es un paquete externo y debe instalarse primero para que este enfoque funcione. Podemos instalar este paquete usando el administrador de paquetes NuGet buscando linqtoexcel en el administrador de paquetes NuGet. También necesitamos instalar el Motor de base de datos de Microsoft Access para el paquete LinqToExcel. Cuando el paquete LinqToExcel y el motor de base de datos de Microsoft Access estén finalmente instalados, podemos leer los archivos xlsx. Vea el siguiente ejemplo 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;
    }
  }
}

En el código anterior, usamos LINQ para consultar a través del archivo C:\File\Classes.xlsx y obtener contenido filtrado de la Sheet1 con el paquete LinqToExcel en C#. Guardamos el valor resultante de la consulta dentro de la variable result.

Leer archivo XLSX con el paquete ExcelDataReader en C#

También podemos usar el paquete ExcelDataReader para leer datos de archivos Excel en C#. El paquete ExcelDataReader también es un paquete externo y no viene preinstalado con el marco .NET. Necesitamos instalarlo para que este enfoque funcione. Podemos instalar este paquete simplemente buscando el exceldatareader en el administrador de paquetes NuGet. El siguiente ejemplo de código nos muestra cómo podemos leer datos de un archivo xlsx con el paquete ExcelDataReader en 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();
    }
  }
}

En el código anterior, leemos los datos dentro del archivo C:\File\Classes.xlsx con el paquete ExcelDataReader en C#. Guardamos los datos resultantes en forma de tablas dentro de la variable resultDataSet. Al final, liberamos los recursos de la instancia excelDataReader con la función excelDataReader.Close() en 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

Artículo relacionado - Csharp Excel