
How to Convert Excel to Datatable in C#
このブログでは、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に変換するには、いくつかの前提条件が必要です。
- 開発環境: Visual Studioや他のC# IDEなど、互換性のある開発環境をマシンに設定してください。
- IronXLライブラリ: IronXLライブラリをダウンロードしてインストールしてください。 ライブラリは公式のIronXLウェブサイトまたはVisual StudioのNuGetパッケージマネージャを使用して入手できます。 C#プロジェクトにIronXLネームスペースを含めて、そのクラスやメソッドにアクセスします。
- .NET Frameworkまたは.NET Core: IronXLは.NET Frameworkおよび.NET Coreの両方をサポートします。 プロジェクトの要件に応じて、適切なバージョンがマシンにインストールされていることを確認してください。
3. C#で新しいプロジェクトを作成する
Excel関連のタスクにIronXLライブラリを使用するには、初めにVisual Studioで.NETプロジェクトを作成する必要があります。 Visual Studioのどのバージョンも使用できますが、最新のものを使用することをお勧めします。
このチュートリアルでは、IronXLの利用方法を示すためにコンソールアプリケーションのプロジェクトテンプレートを使用します。
新しいプロジェクト
プロジェクトタイプを選択したら、プロジェクトの名前と場所を指定します。 さらに、.NET Core 6などのプロジェクトに適したフレームワークを選択することもできます。
プロジェクト設定
ソリューションが生成された後、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パッケージマネージャを開く方法を示しています。
NuGetパッケージマネージャー
検索結果のIronXL:
IronXL
4.2 Visual Studioコマンドラインの使用
多くの開発者は、コマンドラインインターフェースを使用してパッケージをインストールすることを好みます。 コマンドラインを使用してIronXLをインストールするには、次の手順を実行します:
- Visual Studioでツール > NuGetパッケージマネージャ > パッケージマネージャコンソールに進みます。
- パッケージマネージャコンソールタブで次の行を入力してください:
パッケージは現在のプロジェクトにダウンロードおよびインストールされ、使用できる状態になります。
IronXL パッケージのインストール
5. IronXLを使用してExcelデータをDataTableに変換する
C#でExcelファイルストリームからDataTableにExcelデータをエクスポートすることは、IronXLを使用して簡単に実装できます。 このセクションでは、IronXLを使用してExcelワークシートデータをDataTableに変換する方法について説明します。
まず、DataTableに変換したいデータを含むサンプルのExcelファイルが必要です。 デモンストレーションには、シンプルな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
}
}
}Imports IronXL
Imports System
Imports System.Data
Module Program
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
Console.WriteLine() ' Move to the next line after printing each row
Next
End Sub
End Module上記のコードでは、ExcelファイルがWorkBookオブジェクトとしてIronXLが提供するWorkBook.Loadメソッドを使用してロードされ、その後最初のワークシートデータにWorkSheetとしてアクセスします。 このDataTable変数に変換して保存します。
最後に、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のチュートリアルについては、チュートリアルページをご覧ください。

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



