C# で XLSX ファイルを読む

Muhammad Maisam Abbas 2023年12月11日
  1. C# の LinqToExcel パッケージで XLSX ファイルを読む
  2. C# の ExcelDataReader パッケージで XLSX ファイルを読む
C# で XLSX ファイルを読む

このチュートリアルでは、C# で Excelxlsx ファイルを読み取る方法について説明します。

C# の LinqToExcel パッケージで XLSX ファイルを読む

LinqToExcel パッケージは、C# の LINQ を使用して Excel ファイルをクエリするために使用されます。これにより、C# の Excel ファイルからフィルター処理されたデータを簡単に取得できます。LinqToExcel パッケージは外部パッケージであり、このアプローチを機能させるには、最初にインストールする必要があります。NuGet パッケージマネージャーで linqtoexcel を検索すると、NuGet パッケージマネージャーを使用してこのパッケージをインストールできます。また、LinqToExcel パッケージ用の Microsoft Access データベースエンジンをインストールする必要があります。LinqToExcel パッケージと MicrosoftAccess データベースエンジンの両方が最終的にインストールされると、xlsx ファイルを読み取ることができます。次のコード例を参照してください。

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

上記のコードでは、LINQ を使用してファイル C:\File\Classes.xlsx をクエリし、C# の LinqToExcel パッケージを使用して Sheet1 からフィルター処理されたコンテンツを取得しました。クエリの結果の値を result 変数内に保存しました。

C# の ExcelDataReader パッケージで XLSX ファイルを読む

ExcelDataReader パッケージを使用して、C# の Excel ファイルからデータを読み取ることもできます。ExcelDataReader パッケージも外部パッケージであり、.NET フレームワークがプリインストールされていません。このアプローチを機能させるには、インストールする必要があります。NuGet パッケージマネージャーで exceldatareader を検索するだけで、このパッケージをインストールできます。次のコード例は、C# の ExcelDataReader パッケージを使用して xlsx ファイルからデータを読み取る方法を示しています。

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

上記のコードでは、C# の ExcelDataReader パッケージを使用して、C:\File\Classes.xlsx ファイル内のデータを読み取ります。結果のデータを resultDataSet 変数内のテーブルの形式で保存しました。最後に、C# の excelDataReader.Close() 関数を使用して、excelDataReader インスタンスによって保持されているリソースを解放します。

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

関連記事 - Csharp Excel