IRONXLの使用

C#でExcelシートからデータを取得する方法

更新済み 2024年2月6日
共有:

IronXLは、さまざまな機能を備えたAPIで、Microsoft Excelファイルを操作するためのさまざまな機能を提供します。C#でのExcelファイル. このチュートリアルでは、IronXLを使用してC#でExcelシートからデータを取得する方法を探ります。

このチュートリアルを進めるには、次のものが必要です:

  • マシンにインストールされているMicrosoft Visual Studio
  • C#プログラミングの基本知識
  • プロジェクトにインストールされたIronXLライブラリ

    公式ウェブサイトまたはVisual StudioのNuGetパッケージマネージャーからIronXLをダウンロードできます。

Visual StudioでIronXLをインストールする

C#プロジェクトにIronXLをインストールするには、次の手順に従ってください。

  1. Microsoft Visual Studio を開く。

  2. 新しいプロジェクトを作成するか、既存のプロジェクトを開く。

  3. ソリューションエクスプローラーでプロジェクトを右クリックして、「NuGetパッケージの管理」を選択します。

  4. 「NuGet パッケージ マネージャー」ウィンドウで、「参照」タブを選択します。

  5. 検索ボックスに「IronXL」と入力し、Enterキーを押します。

  6. 「IronXL.Excel」を選択し、「インストール」ボタンをクリックしてください。

  7. 「I Accept」ボタンをクリックしてライセンス契約に同意してください。

  8. インストールが完了するのを待ちます。

    ![Excelシートからデータを取得する方法 in C#

図1:Visual StudioプロジェクトにIronXLライブラリをインストールしています](/static-assets/excel/blog/how-to-fetch-data-from-excel-sheet-csharp/how-to-fetch-data-from-excel-sheet-csharp-1.webp)

Visual StudioプロジェクトにおけるIronXLライブラリのインストール

次の手順を実行すると、IronXLがインストールされ、C#プロジェクトで使用できるようになります。

ステップ 1: 必要なライブラリをインポートする

以下のサンプルコードを追加して、IronXLライブラリやその他の必要なライブラリをインポートしてください。

using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms
VB   C#

IronXL 名前空間を使用することで、IronXLライブラリを用いてExcelファイルを操作するために必要なすべてのクラスと関数が提供されます。

ステップ2:Excelファイルを読み込む

最初のステップはファイルを読み込むことです。IronXLはWorkBook以下のように翻訳できます。

既存のExcelファイルを開くか、新しいワークブックを作成するために、WorkBookクラスを使用してExcelファイルを読み込むクラス。

既存のExcelファイルを読み込むには、次のコードを使用してください。

WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
Dim workbook As WorkBook = WorkBook.Load("path/to/excel/file.xlsx")
VB   C#

このコードは、指定されたExcelファイルをWorkBookオブジェクトに読み込みます。

新しい WorkBook を作成するには、次のサンプルコードを使用します:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
VB   C#

このコードは指定されたファイル形式で新しいワークブックを作成します。(ここ、XLSX).

Excelシートからデータを取得する方法(C#)、図3:IronXLは.XLSおよび.XLSXファイル形式のExcelスプレッドシートを読み込んで作成することができます。

IronXLは、.XLSおよび.XLSXファイル形式のExcelスプレッドシートを読み込み、作成することができます。

ステップ3:Excelシートを取得

Excelファイルを読み込んだ後、データを取得するExcelシートを指定する必要があります。 WorkBookには複数のWorkSheetオブジェクトを含めることができます。 それぞれのワークシートデータにアクセスする前にワークシートの名前を指定する必要があります。

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
VB   C#

このコードは最初のワークシートを取得します(ワークシート名 Sheet1)ワークブックから。 インデックスでワークシートを取得する場合、次のコードを使用できます:

WorkSheet worksheet = workbook.WorkSheets [0];
WorkSheet worksheet = workbook.WorkSheets [0];
Dim worksheet As WorkSheet = workbook.WorkSheets (0)
VB   C#

このコードは、ワークブックから最初のワークシートを取得します。ワークシートが存在することを前提としています。

ステップ 4: Excelシートからデータを取得する

取得したExcelシートからデータにアクセスすることが可能になります。 IronXLは、Excelシートからデータを取得するためのさまざまな方法を提供します。 以下は、最も一般的に使用されるメソッドの一部です。

  • インデクサー演算子 []: 単一のセルの値を取得します。
  • GetRow(ゲットロウ): データの一行を取得します。
  • GetColumn(ゲットコラム): 1つの列のデータを取得します。
  • GetRangeセルの範囲を取得します。

    単一セルの値を取得するには、次のコードを使用します:

object value = worksheet ["A1"].Value;
object value = worksheet ["A1"].Value;
Dim value As Object = worksheet ("A1").Value
VB   C#

このコードは、ワークシート内のセルA1の値を取得します。

1行のデータを取得するには、以下のコードを使用してください:

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
VB   C#

このコードは、ワークシートの最初の行のデータを取得します。

データの単一列を取得するには、次のコードを使用してください:

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
VB   C#

このコードは、ワークシートの最初の列のデータを取得します。

セルの範囲を取得するには、以下のコードを使用します:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
VB   C#

このコードは、ワークシート内のセル範囲A1からB2を取得します。

ステップ5: Excelシートからデータを抽出

取得したデータから単一の値を抽出するには、適切なデータ型にキャストする必要があります。

以下のコードは、セルA1から整数値を抽出する方法を示しています:

int value = worksheet ["A1"].IntValue;
int value = worksheet ["A1"].IntValue;
Dim value As Integer = worksheet ("A1").IntValue
VB   C#

以下のコードを使用して、データの行を抽出できます:

var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values

For Each value In values
	Dim intValue As Integer = CInt(value)
	' Do something with the extracted value
Next value
VB   C#

このコードは最初の行のデータを抽出し、行内の値を反復処理して各値を整数に変換します。

次に、以下のコードはデータの列を抽出する方法を示しています:

var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values

For Each value In values
	Dim strValue As String = CStr(value)
	' Do something with the extracted value
Next value
VB   C#

このコードはデータの最初の列を抽出し、列内の値を文字列にキャストしながら反復処理します。

次の例では、範囲内のセルを抽出する方法を示します。

var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values

For Each row In values
	For Each value In row
		' Do something with the extracted value
	Next value
Next row
VB   C#

このコードはセル範囲A1からB2までを抽出し、各セルの値を繰り返し処理します。

結論

このチュートリアルでは、IronXLを使用してC#でExcelシートからデータを取得する方法、Excelファイルを読み込む方法、必要なワークシートを取得する方法、ワークシートからデータを取得する方法、データを抽出する方法、データをデータベースにインポートする方法について説明しました。 IronXLは、Excelファイルを操作するための豊富な機能を備えたAPIを提供し、C#アプリケーションにExcelデータを簡単に統合することができます。 IronXLを使用すると、Excelファイルを読み書きし、そのデータとプログラム的に対話することができます。 さらに、レポートの生成などのExcelタスクを自動化するためにIronXLを使用することもできます。チャートの作成、およびセルの書式設定.

IronXLについて詳しく知る

IronXLは、ExcelおよびCSVファイルの読み書きに便利で使いやすいライブラリであり、小さく覚えやすい関数が特徴です。

このチュートリアルでは、 の表面をかすめただけですIronXL対応可能です。 IronXLは、次のような幅広い追加機能を提供します。セル書式設定, 数値関数、および条件付き書式設定例えば。

IronXLを使用する際の顕著な利点

  • .NETエンジニアによる専用サポート、クロスプラットフォーム対応、Azure (アジュール)(Azure (アジュール)), AWSおよびDocker。
  • Microsoft Visual Studio を使用した簡単なインストール
  • free trial for development, with licenses starting at $749
  • C# または VB.NET プロジェクトへの簡単な統合
< 以前
Excelでテーブルを範囲に変換する方法
次へ >
C#でCSVファイルを作成する方法(ステップバイステップ)チュートリアル