How to Convert Excel to Datagridview in C#
IronXL ライブラリの機能
C#でIronXLライブラリを使用すると、Microsoft ExcelドキュメントをCSVファイルに簡単に読み取り、変換することができます。 IronXLは、Microsoft Excelをインストールする必要がなく、Microsoft Office Interop Excelに依存することなく、さまざまなスプレッドシート形式を読み取ることができる単独 for .NETソフトウェアライブラリです。
IronXLは、C#用の主要なExcelスプレッドシートライブラリの1つであり、.NET Coreと.NET Frameworkの両方と互換性があります。 Webアプリケーション、Windowsフォームアプリケーション、コンソールアプリケーションを含むさまざまな.NETフレームワークをサポートしています。 IronXLを使用すると、Excelファイルの読み取りは迅速で簡単です。 XLSX、XLS、CSV、TSV、XLST、XLSMなど、さまざまなExcelファイル形式をサポートしています。 データテーブルのインポート、編集、エクスポート、データセットのエクスポート、その他多くの操作を実行できます。 異なる拡張子でのファイルのエクスポートおよび保存も可能です。
IronXLの直感的なC# APIを使用すると、.NET環境でExcelスプレッドシートファイルを簡単に読み取り、修正し、作成することができます。 .NET Core、.NET Framework、Xamarin、モバイル、Linux、macOS、Azureに対する包括的なサポートを提供します。
IronXLはMicrosoft Excelと同様の計算を実行でき、テキスト、整数、数式、日付、通貨、パーセンテージなど、いくつかの列データ形式をサポートしています。
詳細を知りたい場合は、IronXLのウェブサイトをクリックしてください。
Visual Studioで新しいプロジェクトを作成する
IronXLフレームワークを使用する前に、Visual Studioで.NETプロジェクトを作成する必要があります。 Visual Studioの任意のバージョンで動作します。 最新バージョンを使用することをお勧めします。 さまざまなプロジェクトテンプレートや、要件に応じたWindowsフォームのようなアプリケーションを作成できます。 このチュートリアルでは、簡略化のためにWindowsフォームアプリケーションを使用します。

Visual Studioで新しいプロジェクトを作成
プロジェクトテンプレートを選択した後、プロジェクト名と場所を指定します。

プロジェクトを構成する
次に、以下の構造を選択します。 このプロジェクトでは.NET Framework 4.7を使用します。

.NETフレームワークの選択
プロジェクトファイルを生成した後、プログラムコードを挿入したり、インターフェイスをデザインしたり、プログラムをビルド/実行するために、デザイナービューでForm1.csファイルを開くことができます。 その後、解決策に必要なIronXLライブラリをダウンロードする必要があります。 パッケージマネージャで次のコマンドを使用してパッケージをダウンロードできます。

パッケージマネージャコンソールでIronXLパッケージをインストールする
または、NuGetパッケージマネージャを使用して"IronXL"パッケージを検索してダウンロードすることもできます。 NuGetパッケージマネージャは、プロジェクトの依存関係を管理する便利な方法を提供します。

NuGetパッケージマネージャUIでのIronXLパッケージの検索とインストール
このフォームでは、必要なExcelファイルをDataGridViewコントロールがフォーム上に配置されます。
Excelファイルからデータを読み込む
IronXLは、わずか数行のコードでExcelファイルを読み取ることができる強力なExcel用ライブラリです。 以下にExcelデータをDataGridViewにインポートする方法を示すコードスニペットの例を示します。
using System;
using System.Windows.Forms;
using IronXL;
namespace DataTableWindowsForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string importFilePath = string.Empty;
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
DialogResult result = openFileDialog1.ShowDialog();
// Check if the user selected a file
if (result == DialogResult.OK)
{
importFilePath = openFileDialog1.FileName;
}
// Proceed if the file path is not empty
if (!string.IsNullOrEmpty(importFilePath))
{
// Load the Excel document
WorkBook excelDoc = WorkBook.Load(importFilePath);
// Convert the first sheet to a DataTable
var dataTable = excelDoc.WorkSheets[0].ToDataTable();
// Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable;
}
}
}
}Imports System
Imports System.Windows.Forms
Imports IronXL
Namespace DataTableWindowsForm
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Dim importFilePath As String = String.Empty
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
Dim result As DialogResult = openFileDialog1.ShowDialog()
' Check if the user selected a file
If result = DialogResult.OK Then
importFilePath = openFileDialog1.FileName
End If
' Proceed if the file path is not empty
If Not String.IsNullOrEmpty(importFilePath) Then
' Load the Excel document
Dim excelDoc As WorkBook = WorkBook.Load(importFilePath)
' Convert the first sheet to a DataTable
Dim dataTable = excelDoc.WorkSheets(0).ToDataTable()
' Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable
End If
End Sub
End Class
End NamespaceImports System
Imports System.Windows.Forms
Imports IronXL
Namespace DataTableWindowsForm
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Dim importFilePath As String = String.Empty
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
Dim result As DialogResult = openFileDialog1.ShowDialog()
' Check if the user selected a file
If result = DialogResult.OK Then
importFilePath = openFileDialog1.FileName
End If
' Proceed if the file path is not empty
If Not String.IsNullOrEmpty(importFilePath) Then
' Load the Excel document
Dim excelDoc As WorkBook = WorkBook.Load(importFilePath)
' Convert the first sheet to a DataTable
Dim dataTable = excelDoc.WorkSheets(0).ToDataTable()
' Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable
End If
End Sub
End Class
End Namespace上記のコードは、Excelからデータをインポートします。 さらにコンテキストを提供するために、DataGridViewコントロールとボタンを備えたWindows Formsアプリケーションを設計していると仮定しましょう。 ボタンは特定の場所からExcelファイルを参照するためのダイアログを開きます。 特定の拡張子を持つ限られた数のファイルのみをフィルタリングし表示するためのカスタムコードが追加されています。

Excelファイルを選択するためのダイアログを開く
その後、ExcelファイルからデータをロードするためにLoadメソッドが使用されます。このメソッドは、ファイル名、バイト数、またはストリームなどさまざまなソースからデータをロードすることを可能にします。 Excelファイルがパスワードで保護されている場合、パスワードをパラメーターとして渡すことができます。
Excelの詳細がIronXLオブジェクトにロードされたら、ExcelシートデータをToDataTableメソッドが使用されます。 Excelファイル内の各シートは別々のテーブルに変換されます。
次に、必要なテーブルをデータセットからDataGridViewにロードします。 これを行うには、DataTableオブジェクトに設定します。 このステップにより、ExcelファイルからDataGridViewにデータを供給することができます。

Excelファイルからデータを表示する
さらに、特定の要件に応じて、ヘッダーと最初の行のデータを正しく表示するようにDataGridViewを設定する必要があるかもしれません。
IronXLの使用に関するさらなるチュートリアルについては、このハウツーガイドをクリックしてください。
結論
IronXLは外部ライブラリに依存しない、非常に人気のあるExcelユーティリティです。 これは独立したソリューションであり、Microsoft Excelのインストールは必要ありません。 さまざまなプラットフォームと互換性があります。
IronXLを使用すると、Microsoft Excelドキュメントに関連する多くの操作をプログラムで実行できます。 文字列や数字のソート、データのトリミングや追加、値の検索と置換、セルの結合と分割解除、ファイルの保存などのタスクを実行できます。 また、スプレッドシートデータの検証やセルデータの種類を定義することもできます。 さらに、IronXLはCSVファイルの読み書きをサポートしています。
IronXLはさまざまなライセンスオプションで購入可能です。 顧客は更新および製品サポートのために年会費を支払うオプションもあります。 追加料金で、IronXLは無制限の再配布権利を提供します。 より詳しい価格情報を得るには、ライセンスページをご覧ください。
Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
