C# Read XLSX File

This article was translated from English: Does it need improvement?
Translated
View the article in English

さまざまなExcel形式を扱う際、データを読み込み、それをプログラムで操作することがしばしば必要です。 次のチュートリアルでは、C#で便利なツールであるIronXLを使用して、Excelスプレッドシートからデータを読み取る方法を学びます。

見出しとして:2(クイックスタート:ワークブックを読み込み、ワークシートに簡単にアクセス)

IronXLを使用すると、ワークブックの.Loadメソッドを使用して、単一行でXLSXファイルを読み込むことができ、その後すぐに最初のまたは名前付きのワークシートにアクセスして、セル値の読み取りを開始できます。これにより、高速で邪魔されないExcelファイルの読み取りが可能です。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="learnn-how-section">
class="row">
class="col-sm-6">

.XLSXファイルの読み取り C#

  • プロジェクトにIronXLを取得
  • ワークブックを読み込む
  • ワークシートからデータにアクセス
  • Sum、Min、Maxのような関数を適用
  • ワークシートをDataTable、DataSetなどとして読み取る
class="col-sm-6">
class="download-card"> How To Work related to C# Read XLSX File

1. プロジェクトにIronXLを取得

C#でExcelファイル形式を簡単に操作するためにプロジェクトでIronXLを使用します。 You can either install IronXL via direct download or alternatively you can use NuGet Install for Visual Studio. ソフトウェアは開発用には無料です。

Install-Package IronXL.Excel


class="tutorial-segment-title">チュートリアルの方法

2. ワークブックの読み込み

WorkBookは、Excelファイルとそのすべての機能に完全にアクセスを提供するIronXLのクラスです。 例えば、Excelファイルにアクセスしたい場合、次のコードを使用します。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs
using IronXL;

// Load the workbook
WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上記のコードでは、WorkBook.Load() 関数が sample.xlsxworkBook に読み込みます。 workBook の特定のワークシートにアクセスすることで、あらゆる種類の機能を実行できます。


3. 特定のワークシートへのアクセス

Excelファイルの特定のワークシートにアクセスするために、IronXLは WorkSheet クラスを提供します。 いくつかの異なる方法で使用することができます:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs
using IronXL;

// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

workBook は、上記の部分で宣言されたワークブックです。

または

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs
using IronXL;

// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

または

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs
using IronXL;

// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

または

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs
using IronXL;
using System.Linq;

// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

または

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs
using IronXL;
using System.Linq;

// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ExcelSheet workSheet を取得した後、そこからあらゆる種類のデータを取得し、すべてのExcel機能を実施することができます。


4. ワークシートからのデータへのアクセス

このプロセスでExcelSheet workSheet からデータを取得できます。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs
using IronXL;

// Accessing data as a string
string dataString = workSheet["A1"].ToString();

// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

特定の列の複数のセルからデータを取得することも可能です。

foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
For Each cell In workSheet("A2:A10")
	Console.WriteLine("Value is: {0}", cell.Text)
Next cell
$vbLabelText   $csharpLabel

これにより、セル A2 から A10 までの値が表示されます。

上記の詳細の完全なコード例がこちらに提供されています。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs
using IronXL;
using System;

// Load an Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このように表示されます。

class="center-image-wrapper"> Doc3 Input1 related to 4. ワークシートからのデータへのアクセス

Excelファイル Sample.xlsx では:

class="center-image-wrapper"> Doc3 1 related to 4. ワークシートからのデータへのアクセス

これらの手法を使用すると、プロジェクトでExcelファイルデータを使うのがいかに簡単かを確認できます。


5. データへの操作の実行

次のコードを使用して、Sum、Min、Maxのような集計関数を適用することで、Excelワークシートからフィルタされたデータにアクセスするのは非常に簡単です。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs
using IronXL;

// Apply aggregate functions
decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10
decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10
decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

詳細が必要な場合は、「C# Excelファイルの書き込み」に関する詳細なチュートリアルを参照してください。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs
using IronXL;
using System;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Calculate sum, minimum, and maximum for a range of cells
decimal sum = workSheet["G2:G10"].Sum();
decimal min = workSheet["G2:G10"].Min();
decimal max = workSheet["G2:G10"].Max();

// Output results
Console.WriteLine("Sum is: {0}", sum);
Console.WriteLine("Min is: {0}", min);
Console.WriteLine("Max is: {0}", max);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このコードは次の出力を表示します:

class="center-image-wrapper"> Doc3 Output2 related to 5. データへの操作の実行

このようにExcelファイル Sample.xlsx は見えます:

class="center-image-wrapper"> Doc3 2 related to 5. データへの操作の実行

6. ExcelワークシートをDataTableとして読み込む

IronXLを使用すると、ExcelワークシートをDataTableとして操作するのが非常に簡単です。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

ExcelSheetの最初の行をDataTableのColumnNameとして使用したい場合。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs
using IronXL;
using System.Data;

// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

このように、ToDataTable() のブールパラメータがDataTableの列名として最初の行を設定します。 デフォルトでは、その値は False です。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Convert WorkSheet to DataTable
DataTable dt = workSheet.ToDataTable(true); // Use first row as column names

// Iterate through rows and columns and display data
foreach (DataRow row in dt.Rows) // Access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row
    {
        Console.Write(row[i] + " ");
    }
    Console.WriteLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上記のコードを使用して、ワークシートのすべてのセル値にアクセスして使用することができます。


7. ExcelファイルをDataSetとして読み込む

IronXLは、完全なExcelファイル(WorkBook)をDataSetとして使用する非常に簡単な関数を提供します。 ワークブック全体をDataSetに変換するためにToDataSetメソッドを使用します。 この例では、ExcelファイルをDataSetとして使用する方法を見ます。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs
using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Convert the WorkBook to a DataSet
DataSet ds = workBook.ToDataSet();

// Iterate through tables in the DataSet and display table names
foreach (DataTable dt in ds.Tables)
{
    Console.WriteLine(dt.TableName);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上記のコードの出力は次のようになります:

class="center-image-wrapper"> Doc10 Output2 related to 7. ExcelファイルをDataSetとして読み込む

Excelファイル Sample.xlsx は次のように見えます:

class="center-image-wrapper"> Doc10 2 related to 7. ExcelファイルをDataSetとして読み込む

上記の例では、ExcelファイルをDataSetに簡単に解析し、ExcelファイルのすべてのワークシートをDataTableとして使用できることがわかります。 コード例を含むExcelをDataSetとして解析する方法についてもっと詳しく掘り下げてください。

すべてのExcelシートの各セル値へのアクセス方法のさらなる例を見てみましょう。 ここで、Excelファイルのすべてのワークシートの各セル値にアクセスできます。

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
// このコードスニペットは利用できません!
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上記の例を使用すると、Excelファイルのすべてのワークシートの各セル値にアクセスするのが非常に便利です。

Interopを使用せずにExcelファイルを読む」方法についての詳細については、こちらのコードを確認してください。


class="tutorial-segment-title">チュートリアルクイックアクセス

class="tutorial-section">
class="row">
class="col-sm-8">

IronXLのAPIリファレンス

IronXLの特徴、クラス、メソッドフィールド、名前空間、列挙に関する詳細をドキュメントでお読みください。

IronXLのAPIリファレンス
class="col-sm-4">
class="tutorial-image"> Documentation related to class=チュートリアルクイックアクセス" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/documentation.svg" loading="lazy">

よくある質問

C#でInteropを使用せずにXLSXファイルを読む方法は?

C#でInteropを使用せずにXLSXファイルを読むには、IronXLライブラリを使用できます。IronXLをインストールした後、WorkBook.Load()メソッドを使用してExcelワークブックを読み込み、その内容にアクセスできます。

C#でExcelワークブックを読み込むにはどうすればよいですか?

IronXLを使用してC#でExcelワークブックを読み込むことができます。WorkBook.Load('yourfile.xlsx')を呼び出すと、指定されたファイルを操作用に開きます。

Excelファイル内のワークシートにアクセスするための利用可能な方法は何ですか?

IronXLでは、ワークシートに名前またはインデックスでGetWorkSheetメソッドを使用し、DefaultWorkSheetFirstといったプロパティも使用してアクセスできます。

C#でExcelワークシートのデータを操作する方法は?

IronXLを使用して、ws['A1'].ToString()のような構文でセルの値にアクセスしたり、整数の場合はws['B1'].Int32Valueを使用したり、セル範囲にSumなどの関数を適用することでExcelワークシート内のデータを操作することができます。

C#でExcelデータに集計操作は可能ですか?

はい、IronXLを使用すると、Sum()Min()Max()などのメソッドを指定されたセル範囲に対して使用することで、C#でExcelデータに対して集計操作を実行できます。

Excelワークシートをデータテーブルに変換することは可能ですか?

はい、IronXLのToDataTable()メソッドを使用して、最初の行を列名として扱うオプションでExcelワークシートをデータテーブルに変換することができます。

C#でExcelワークブックをデータセットとして使用する方法は?

IronXLを使用すると、ToDataSet()メソッドを呼び出すことでExcelワークブックをデータセットとして利用でき、包括的なデータ操作が可能となります。

C#でExcelファイル操作にライブラリを使用する利点は何ですか?

C#でExcelファイル操作にIronXLを使用することで、シンプルかつ効率的に多様なExcel形式をサポートし、データ操作が可能になり、ワークシートをデータテーブルに変換するといった機能を提供します。

IronXLを使用するための追加のリソースはどこで見つけることができますか?

IronXLのAPIリファレンスページに、機能、クラス、メソッドに関する詳細情報を含む、より多くのリソースとドキュメントを見つけることができます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はいいですか?
Nuget ダウンロード 1,686,155 | バージョン: 2025.11 ただ今リリースされました