C#XLSXファイルを読み込む

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

C#でXLSXファイルを読み込むには、IronXLのDataSet形式に変換します。

クイックスタート: ワークブックをロードしてワークシートに簡単にアクセス

IronXL を使用すると、WorkBook.Load メソッドを用いて、1 行で XLSX ファイルを読み込むことができます。その後、そのファイルの最初のワークシートまたは指定されたワークシートに即座にアクセスし、セルの値の読み取りを開始できます。

  1. IronXL をNuGetパッケージマネージャでインストール

    PM > Install-Package IronXL.Excel
  2. このコード スニペットをコピーして実行します。

    IronXl.WorkBook workbook = IronXl.WorkBook.Load("your-file.xlsx");
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronXL を使い始めましょう無料トライアル

    arrow pointer

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

  • プロジェクトにIronXLを導入する
  • ワークブックを読み込む
  • ワークシートからデータにアクセスする
  • 合計、最小、最大などの関数を適用する
  • WorkSheet を DataTable や DataSet などとして読み取る
How To Work related to C#XLSXファイルを読み込む

プロジェクトのためにIronXLを入手するには?

C#でExcelファイル形式を簡単に操作するためにプロジェクトでIronXLを使用します。 "直接ダウンロードでIronXLをインストール"するか、もしくは"NuGetを使用してVisual Studioにインストール"することができます。 ソフトウェアは開発用には無料です。

Install-Package IronXL.Excel

XLSXファイルを読む前に、包括的なIronXLドキュメントを参照し、すべての機能を理解してください。 IronXLは.xlsと.xlsx形式の両方をサポートしており、レガシーなExcelファイルにも最新のExcelファイルにも対応します。


チュートリアル

ワークブックを読み込むには?

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
Imports IronXL

' Load the workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Excel file path
$vbLabelText   $csharpLabel

なぜ WorkBook.Load() メソッドを使用するのですか?

上記のコードでは、WorkBookに読み込みます。 Excel ファイルの特定の WorkSheet にアクセスすることで、WorkBook に対してあらゆる種類の関数を実行できます。 Load() メソッドは、XLS、XLSX、XLSM、XLTX、CSVのいずれであっても、ファイル形式を自動的に検出します。より高度な読み込みシナリオについては、スプレッドシートの読み込みに関する詳細ガイドをご覧ください。


特定のワークシートにアクセスするにはどうすればよいですか?

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

ワークシートにアクセスするさまざまな方法は何ですか?

: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");
Imports IronXL

' Access sheet by name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
$vbLabelText   $csharpLabel

WorkBook["SheetName"] は、上記の部分で宣言されている WorkSheet です。

または

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];
Imports IronXL

' Access sheet by index
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
$vbLabelText   $csharpLabel

または

WorkBook.Load()

または

: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;
Imports IronXL

' Access the default worksheet
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
$vbLabelText   $csharpLabel

または

sample.xlsx

または

: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();
Imports IronXL
Imports System.Linq

' Access the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
$vbLabelText   $csharpLabel

または

workBook

または

: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();
Imports IronXL
Imports System.Linq

' Access the first or default worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets.FirstOrDefault()
$vbLabelText   $csharpLabel

または

workBook

または

WorkBook.Load

または

WorkSheet

または

WorkSheet

または

workBook

または

WorkBook

それぞれのワークシートアクセスメソッドはいつ使うべきですか?

それぞれの方法には、理想的な使用例があります:

  • GetWorkSheet("name"): 正確なシート名がわかっている場合
  • WorkSheets[index]: プログラムでシートを順次処理する場合
  • DefaultWorkSheet: 単一ページのファイルを扱う際のクイックアクセス
  • First() または FirstOrDefault(): シート名が変更される可能性がある場合の安全なオプション

ExcelSheet workSheet を取得した後、そこからあらゆる種類のデータを取得し、Excelのすべての関数を適用することができます。 より複雑なワークシート操作については、C#でExcelワークシートを開くのガイドを参照してください。


ワークシートからデータにアクセスするには?

データは、以下の手順で 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;
Imports IronXL

' Accessing data as a string
Dim dataString As String = workSheet("A1").ToString()

' Accessing data as an integer
Dim dataInt As Integer = workSheet("B1").Int32Value
$vbLabelText   $csharpLabel

IronXLはさまざまなデータ型に対してさまざまな値のアクセサを提供します:

  • StringValue: テキストデータ用
  • Int32Value: 整数用
  • DoubleValue: 小数点以下の数値
  • DateTimeValue: 日付について
  • BoolValue: true/false 値の場合

一度に複数のセルを読むにはどうすればよいですか?

特定の列の複数のセルからデータを取得することもできます:

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);
}
Imports IronXL
Imports System

' Load an Excel file
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Specify the range
For Each cell In workSheet("B2:B10")
    Console.WriteLine("Value is: {0}", cell.Text)
Next
$vbLabelText   $csharpLabel

次のような結果が表示されます:

政府機関、民間企業、中間市場、チャネルパートナーの値を抽出したワークシートデータを示すコンソール出力

Excelファイル Sample.xlsx について:

16行にわたるセグメント、国、製品、割引帯の列を示すビジネスデータのExcelスプレッドシート。

これらの方法論は、プロジェクトでExcelファイルのデータを使用することがいかに簡単であるかを示しています。 Interop なしで Excel ファイルを読む実用的な例については、read Excel examples を参照してください。


データに対して関数を実行するにはどうすればよいですか?

以下のコードを使用して、WorkSheet のような集計関数(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
Imports IronXL

' Apply aggregate functions
Dim sum As Decimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10
Dim min As Decimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10
Dim max As Decimal = workSheet("G2:G10").Max() ' Maximum value in cells from G2 to G10
$vbLabelText   $csharpLabel

IronXLは以下のような数多くの数学関数をサポートしています:

  • Average(): 平均値を計算する
  • Count(): 空でないセルの数を数える
  • CountIf(): 条件を満たすセルの数をカウントする
  • Median(): 中央値を求める
  • StdDev(): 標準偏差を計算する

複数の関数を一緒に実装するにはどうすればよいですか?

詳細については、C# Excel ファイルの書き方の詳細なチュートリアルをご覧ください。 また、IronXLで利用可能な数学関数の完全なリストもご覧ください。

: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);
Imports IronXL
Imports System

' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Calculate sum, minimum, and maximum for a range of cells
Dim sum As Decimal = workSheet("G2:G10").Sum()
Dim min As Decimal = workSheet("G2:G10").Min()
Dim max As Decimal = workSheet("G2:G10").Max()

' Output results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
$vbLabelText   $csharpLabel

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

データ分析結果を示すターミナル:黒背景のSum=482, Min=12, Max=350

そして、これがExcelファイル Sample.xlsx の内容です:

セグメント、国、製品、販売台数、価格を複数行に渡って表示した売上データを含むExcelスプレッドシート。

ExcelワークシートをDataTableとして読み込むには?

Using IronXL, it is easy to work with Excel WorkSheet as DataTable. この機能は、Excelデータを既存のデータ処理パイプラインと統合したり、データをUIコントロールにバインドしたりする必要がある場合に特に役立ちます。

基本的な変換方法は何ですか?

: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();
Imports IronXL
Imports System.Data

' Convert worksheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable()
$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);
Imports IronXL
Imports System.Data

' Convert worksheet to DataTable with the first row as column names
Dim dt As DataTable = workSheet.ToDataTable(True)
$vbLabelText   $csharpLabel

DataTableの列名として設定します。 デフォルトでは、その値は False です。 これは、ヘッダーを含む構造化データを扱う場合に特に役立ちます。

DataTableを反復処理するにはどうすればよいですか?

: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();
}
Imports IronXL
Imports System
Imports System.Data

' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Get the specified WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Convert WorkSheet to DataTable
Dim dt As DataTable = workSheet.ToDataTable(True) ' Use first row as column names

' Iterate through rows and columns and display data
For Each row As DataRow In dt.Rows ' Access rows
    For i As Integer = 0 To dt.Columns.Count - 1 ' Access columns of corresponding row
        Console.Write(row(i) & " ")
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

上記のコードを使用することで、WorkSheetのすべてのセル値にアクセスし、必要に応じて利用することができます。 より高度な DataTable 操作については、DataSet としてのインポートおよびエクスポートに関するガイドを参照してください。


Excelファイルをデータセットとして読み込むには?

IronXLは、Excelファイル全体(DataSetとして使用するシンプルな関数を提供します。 ToDataSet メソッドを使用して、ワークブック全体を DataSet に変換してください。
この例では、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);
}
Imports IronXL
Imports System
Imports System.Data

' Load the Excel workbook
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Convert the WorkBook to a DataSet
Dim ds As DataSet = workBook.ToDataSet()

' Iterate through tables in the DataSet and display table names
For Each dt As DataTable In ds.Tables
    Console.WriteLine(dt.TableName)
Next
$vbLabelText   $csharpLabel

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

Sheet1、Sheet2、Sheet3 のラベルのみが表示された、破損または不完全なスクリーンショット。

また、Excelファイル Sample.xlsx は以下のようになっています:

(center content omitted for brevity)

すべてのワークシートにわたって各セルの値にアクセスするにはどうすればよいですか?

上記の例では、ExcelファイルをDataTableとして扱うことができます。 Excelをデータセットとしてパースする方法については、コード例を参考にしてください。

ExcelSheetsのすべてのセルの値にアクセスする方法について、もう1つ例を見てみましょう。 ここでは、Excel ファイル内のすべての ExcelSheet の各セル値にアクセスできます。

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

上記の例を使用すると、Excel ファイル内のすべての ExcelSheet の各セル値にアクセスするのに便利です。このアプローチは、データが異なるシートに分散しているマルチシートワークブックを扱う場合に特に有用です。

Read Excel Files Without Interop の方法については、こちらのコードをご覧ください。 APIリファレンス・ドキュメントでは、IronXL API Referenceで利用可能なすべてのメソッドとプロパティの包括的な詳細を提供しています。


チュートリアル クイックアクセス

IronXL の API リファレンス

IronXL の機能、クラス、メソッド フィールド、名前空間、列挙型の詳細については、ドキュメントをご覧ください。

IronXL の API リファレンス
Documentation related to チュートリアル クイックアクセス

WorkSheet

WorkSheet

WorkSheet

よくある質問

C#でXLSXファイルを読むには?

C#でXLSXファイルを読み込むには、IronXLのWorkBook.Loadメソッドを使用します。IronXl.WorkBook.Load("your-file.xlsx")でExcelファイルを読み込み、ワークシートにアクセスしてセルデータの読み込み、計算の実行、DataTableやDataSet形式への変換をプログラムで行います。

Excelファイルを読み込む際にサポートされているファイル形式は何ですか?

IronXLは.xls、.xlsx、.xlsm、.xltx、.csvファイルを含む複数のExcelファイル形式をサポートしています。WorkBook.Loadメソッドはファイル形式を自動的に検出するため、レガシーなExcelファイルにも最新のExcelファイルにも対応できます。

C#プロジェクトにExcel読み取りライブラリをインストールする方法を教えてください。

IronXLは直接ダウンロードするか、Visual Studio用のNuGetインストールでインストールできます。このソフトウェアは開発目的であれば無料で利用でき、C#でExcelファイル形式を扱うシンプルな方法を提供します。

特定のワークシートにアクセスするには、どのような方法がありますか?

workBook.GetWorkSheet("SheetName")で名前によるアクセス、workBook.WorkSheets[0]でインデックスによるアクセス、workBook.WorkSheets.First()で最初のワークシートを取得することができます。

Excelデータを読み込んだ後、計算を行うことはできますか?

XLSXファイルをIronXLでロードした後、Sum、Min、Maxのような様々な関数をデータに適用することができます。このライブラリはWorkBookオブジェクトを通してExcelファイルの機能に完全にアクセスできます。

Excelワークシートのデータを他の形式に変換できますか?

はい、IronXLではワークシートを読み込み、DataTableやDataSetなどの様々なフォーマットに変換することができます。これによりExcelのデータをC#アプリケーションに簡単に統合することができます。

カーティス・チャウ
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 2,041,325 | バージョン: 2026.6 just released
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。