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
インスタンスによって保持されているリソースを解放します。
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