Leggere file XLSX in C#

Muhammad Maisam Abbas 11 dicembre 2023
  1. Leggere file XLSX con il pacchetto LinqToExcel in C#
  2. Leggere file XLSX con il pacchetto ExcelDataReader in C#
Leggere file XLSX in C#

Questo tutorial discuterà i metodi per leggere un file xlsx di Excel in C#.

Leggere file XLSX con il pacchetto LinqToExcel in C#

Il pacchetto LinqToExcel viene utilizzato per interrogare i file Excel con LINQ in C#. Rende facile ottenere dati filtrati da un file Excel in C#. Il pacchetto LinqToExcel è un pacchetto esterno e deve essere installato prima affinché questo approccio funzioni. Possiamo installare questo pacchetto utilizzando il gestore di pacchetti NuGet cercando linqtoexcel nel gestore di pacchetti NuGet. Dobbiamo anche installare il Microsoft Access Database Engine per il pacchetto LinqToExcel. Quando sia il pacchetto LinqToExcel che il motore di database di Microsoft Access saranno finalmente installati, potremo leggere i file xlsx. Vedere il seguente esempio di codice.

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;
    }
  }
}

Nel codice sopra, abbiamo usato LINQ per interrogare attraverso il file C:\File\Classes.xlsx e ottenere il contenuto filtrato dal Sheet1 con il pacchetto LinqToExcel in C#. Abbiamo salvato il valore risultante della query all’interno della variabile result.

Leggere file XLSX con il pacchetto ExcelDataReader in C#

Possiamo anche utilizzare il pacchetto ExcelDataReader per leggere i dati dai file Excel in C#. Anche il pacchetto ExcelDataReader è un pacchetto esterno e non è preinstallato con il framework .NET. Dobbiamo installarlo affinché questo approccio funzioni. Possiamo installare questo pacchetto semplicemente cercando in exceldatareader nel gestore di pacchetti NuGet. Il seguente esempio di codice ci mostra come leggere i dati da un file xlsx con il pacchetto ExcelDataReader in 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();
    }
  }
}

Nel codice sopra, leggiamo i dati all’interno del file C:\File\Classes.xlsx con il pacchetto ExcelDataReader in C#. Abbiamo salvato i dati risultanti sotto forma di tabelle all’interno della variabile resultDataSet. Alla fine, liberiamo le risorse tenute dall’istanza excelDataReader con la funzione excelDataReader.Close() in 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

Articolo correlato - Csharp Excel