フッターコンテンツにスキップ
IRONXLの使用

C#\u3092\u4f7f\u7528\u3057\u3066Excel\u3092DataTable\u306b\u5909\u63db\u3059\u308b\u65b9\u6cd5<\/S>

このブログでは、ExcelからDataTableへの変換を実装する方法を示しています。 このタスクはIronXLを使用することで簡単に行うことができ、C#においてExcelファイルを読み書きするためのシンプルで効率的な方法を提供します。

1. IronXL

IronXLは、Excelワークシートの読み込み、書き込み、データのエクスポート、および操作を簡素化するために設計された強力で使いやすいC#ライブラリです。 これにより、開発者はC#プロジェクト内でExcelスプレッドシートを操作し、タスクを自動化するためのシームレスな方法を提供します。

IronXLを使用すると、インポートエクスポート、Excelのワークブック、ワークシート、セルでのデータの変更が簡単に行えます。 古いXLS形式と新しいXLSX形式の両方をサポートしており、さまざまなバージョンのExcelと互換性があります。

ライブラリはExcelファイル上でのさまざまな操作を可能にするシンプルなAPIを提供しており、新しいワークブックの作成、セルへのデータの読み書き、フォーマットの適用数式の処理チャートや画像の抽出などが可能です。 IronXLはテーブル、範囲、名前付き範囲などの複雑なデータ構造の操作もサポートしています。

2. 事前準備

C#でIronXLを使用してExcelファイルをDataTableに変換するには、いくつかの前提条件が必要です。

  1. 開発環境: Visual Studioや他のC# IDEなど、互換性のある開発環境をマシンに設定してください。
  2. IronXLライブラリ: IronXLライブラリをダウンロードしてインストールしてください。 ライブラリは公式のIronXLウェブサイトまたはVisual StudioのNuGetパッケージマネージャを使用して入手できます。 C#プロジェクトにIronXLネームスペースを含めて、そのクラスやメソッドにアクセスします。
  3. .NET Frameworkまたは.NET Core: IronXLは.NET Frameworkおよび.NET Coreの両方をサポートします。 プロジェクトの要件に応じて、適切なバージョンがマシンにインストールされていることを確認してください。

3. Creating a New Project in C

Excel関連のタスクにIronXLライブラリを使用するには、初めにVisual Studioで.NETプロジェクトを作成する必要があります。 Visual Studioのどのバージョンも使用できますが、最新のものを使用することをお勧めします。

このチュートリアルでは、IronXLの利用方法を示すためにコンソールアプリケーションのプロジェクトテンプレートを使用します。

C#でExcelをDataTableに変換する方法、図1: 新しいプロジェクト 新しいプロジェクト

プロジェクトタイプを選択したら、プロジェクトの名前と場所を指定します。 さらに、.NET Core 6などのプロジェクトに適したフレームワークを選択することもできます。

C#でExcelをDataTableに変換する方法、図2: プロジェクトの設定 プロジェクト設定

ソリューションが生成された後、Program.csファイルにアクセスし、コードの入力やアプリケーションの作成/実行を行えます。

C#でExcelをDataTableに変換する方法、図3: Program.cs Program.cs

4. IronXLのインストール

IronXLライブラリのダウンロードとインストールにはさまざまな方法があります。 以下のような方法です:

  • Visual Studio NuGetパッケージを使用
  • Visual Studioコマンドラインを使用

4.1 Visual Studio NuGetパッケージを使用する

Visual StudioのNuGetパッケージマネージャを開き、ブラウズタブでIronXLを検索してNuGetパッケージマネージャでIronXLライブラリをインストールします。

検索結果にIronXLが表示されたら、それを選択してインストールを続行します。 インストールが完了すると、プロジェクトでIronXLライブラリを使用できます。

以下のスクリーンショットは、Visual StudioでNuGetパッケージマネージャを開く方法を示しています。

C#でExcelをDataTableに変換する方法、図4: NuGetパッケージマネージャ NuGetパッケージマネージャー

検索結果のIronXL:

C#でExcelをDataTableに変換する方法、図5: IronXL IronXL

4.2 Visual Studioコマンドラインの使用

多くの開発者は、コマンドラインインターフェースを使用してパッケージをインストールすることを好みます。 コマンドラインを使用してIronXLをインストールするには、次の手順を実行します:

  • Visual Studioでツール > NuGetパッケージマネージャ > パッケージマネージャコンソールに進みます。
  • パッケージマネージャコンソールタブで次の行を入力してください:
Install-Package IronXL.Excel

パッケージは現在のプロジェクトにダウンロードおよびインストールされ、使用できる状態になります。

C#でExcelをDataTableに変換する方法、図6: IronXL パッケージのインストール IronXL パッケージのインストール

5. IronXLを使用してExcelデータをDataTableに変換する

C#でExcelファイルストリームからDataTableにエクスポートすることは、IronXLを使用することで簡単に実装できます。 このセクションでは、IronXLを使用してExcelワークシートデータをDataTableに変換する方法について説明します。

最初に、DataTable に変換したいデータを含むサンプル Excel ファイルが必要です。 デモンストレーションには、シンプルなExcelファイルを作成する必要があります。

C#でExcelをDataTableに変換する方法、図7: サンプルExcel サンプルExcel

それでは、コードサンプルを見てみましょう。

using IronXL;
using System;
using System.Data;

class Program
{
    static void Main()
    {
        // Load the Excel workbook from a file
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Access the default worksheet in the workbook
        WorkSheet workSheet = workBook.DefaultWorkSheet;

        // Convert the worksheet data to a DataTable
        // Set the parameter to true to consider the first row as column headers
        DataTable dataTable = workSheet.ToDataTable(true);

        // Iterate over each row in the DataTable
        foreach (DataRow row in dataTable.Rows)
        {
            // Print each column in the row
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                Console.Write($"{row[i]} \t");
            }
            Console.WriteLine(); // Move to the next line after printing each row
        }
    }
}
using IronXL;
using System;
using System.Data;

class Program
{
    static void Main()
    {
        // Load the Excel workbook from a file
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Access the default worksheet in the workbook
        WorkSheet workSheet = workBook.DefaultWorkSheet;

        // Convert the worksheet data to a DataTable
        // Set the parameter to true to consider the first row as column headers
        DataTable dataTable = workSheet.ToDataTable(true);

        // Iterate over each row in the DataTable
        foreach (DataRow row in dataTable.Rows)
        {
            // Print each column in the row
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {
                Console.Write($"{row[i]} \t");
            }
            Console.WriteLine(); // Move to the next line after printing each row
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System
Imports System.Data

Friend Class Program
	Shared Sub Main()
		' Load the Excel workbook from a file
		Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

		' Access the default worksheet in the workbook
		Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

		' Convert the worksheet data to a DataTable
		' Set the parameter to true to consider the first row as column headers
		Dim dataTable As DataTable = workSheet.ToDataTable(True)

		' Iterate over each row in the DataTable
		For Each row As DataRow In dataTable.Rows
			' Print each column in the row
			For i As Integer = 0 To dataTable.Columns.Count - 1
				Console.Write($"{row(i)} " & vbTab)
			Next i
			Console.WriteLine() ' Move to the next line after printing each row
		Next row
	End Sub
End Class
$vbLabelText   $csharpLabel

上記のコードでは、ExcelファイルがIronXLのWorkBookオブジェクトとしてWorkBook.Loadメソッドを使用して読み込まれ、その最初のワークシートデータにアクセスします。 このWorkSheetをDataTableに変換するには、workSheet.ToDataTableメソッドを使用し、データを新しいDataTable変数に変換して保存します。

最後に、DataTableデータをコンソールに表示して視覚化します。

C#でExcelをDataTableに変換する方法、図8: データのエクスポートからDataTableへ データのエクスポートからDataTableへ

6. 結論

C#におけるDataTableの使用は、アプリケーション内でExcelデータを扱うための強力で効率的なソリューションを提供します。 IronXLのようなライブラリを活用することで、開発者は簡単にExcelデータをDataTableに変換し、C#の可能性を最大限に活用できます。

このチュートリアルでは、IronXLの機能とC#とのシームレスな統合について説明しました。 開発環境の互換性、IronXLライブラリのインストール、適切な.NET Frameworkまたは.NET Coreバージョンのインストールなど、Excelファイルを扱うための前提条件に言及しました。

また、Visual Studioで新しいC#プロジェクトを作成し、NuGetパッケージマネージャまたはVisual Studioコマンドラインを介してIronXLをインストールする手順を説明しました。プロジェクトにIronXLが順調に統合されたら、ライブラリの使いやすいAPIを使用してデータをDataTableにエクスポートする方法を紹介しました。

Excelファイルを読み込み、必要なワークシートにアクセスし、IronXLが提供するToDataTableメソッドを利用することによって、データを抽出してDataTableに格納することができました。 最後に、コンソールにその内容を印刷することでDataTableを視覚化する方法を紹介しました。

IronXLとDataTableをC#で使用することにより、開発者はExcelデータとシームレスに連携し、効率的なデータ処理、分析、可視化を可能にする堅牢なアプリケーションを構築できます。 このチュートリアルで得た知識により、ExcelワークシートをC#プロジェクトに自信を持って組み込み、DataTableが提供する幅広い機能を活用できます。 IronXLのチュートリアルについては、チュートリアルページをご覧ください。

よくある質問

Interop を使用せずに C# で Excel を DataTable に変換するにはどうすれば良いですか?

IronXL を使用して、C# で Excel データを DataTable に変換できます。WorkBook.Load で Excel ファイルを読み込み、希望のワークシートにアクセスし、workSheet.ToDataTable で変換を実行します。

Excel 操作のために C# プロジェクトに IronXL をセットアップする手順は何ですか?

C# プロジェクトに IronXL をセットアップするには、Visual Studio がインストールされていることを確認し、NuGet パッケージ マネージャーを使用して IronXL を検索してインストールするか、Install-Package IronXL.Excel を使用してコマンド ラインを使用します。

{"S":"IronXL\u306f.NET Framework\u3068.NET Core\u306e\u4e21\u65b9\u3067\u4f7f\u7528\u3067\u304d\u307e\u3059\u304b\uff1f"}

はい、IronXL は .NET Framework および .NET Core の両方で互換性があり、Excel データ操作のために異なる開発環境での柔軟性を可能にします。

IronXL は Excel ファイルの XLS と XLSX の両方の形式をサポートしていますか?

IronXL は XLS と XLSX の両方の形式をサポートしており、さまざまなバージョンの Excel ファイルを扱うために柔軟です。

C# での Excel データ処理に IronXL を使用する利点は何ですか?

IronXL は、C# での Excel ファイルの読み取り、書き込み、操作のための使いやすい API を提供します。データのインポート/エクスポートプロセスを簡素化し、フォーマットや数式処理などの高度な機能をサポートします。

IronXL を使用して Excel を DataTable に変換する際の一般的な問題をトラブルシューティングする方法は?

IronXL がプロジェクトに正しくインストールされ、参照されていることを確認してください。Excel ファイルのパスが正しく、別のプロセスによって使用されていないことを確認してください。特定のエラーメッセージについては IronXL のドキュメンテーションを参照してください。

IronXL を使用するために推奨される開発環境は何ですか?

Visual Studio は、C# プロジェクトのための堅牢な開発ツールとシームレスな統合を提供するため、IronXL を使用するために推奨されます。

C# で Excel ファイルから取得した DataTable の内容を可視化するにはどうすれば良いですか?

IronXL を使用して Excel データを DataTable に変換した後、C# で DataTable の行と列を反復処理し、コンソールに内容を出力して可視化できます。

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

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

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