IRONXLの使用

C#によるExcelデータの読み取りとデータベースへの挿入

更新済み 2024年3月24日
共有:

この記事では、C# ExcelライブラリであるIronXLを使用して、Excelファイルからデータを読み込み、データベーステーブルに挿入する方法を探ります。

1. IronXL

IronXL は、.NET 開発者向けに設計された強力なソフトウェアライブラリであり、.NET アプリケーション内で Excel ファイルを読み取り、書き込み、操作するための使いやすい API を提供します。 それは、対象マシンにMicrosoft OfficeやExcelをインストールせずに、Excelスプレッドシートの作成、編集、エクスポートを行うための包括的な機能セットを提供します。幅広いファイル形式のサポートXLS、XLSX、CSV、TSVを含む多くの形式に対応するこのライブラリは、開発者がどこにでも展開できるExcelベースのアプリケーションを作成するのを容易にします。 IronXLはまた、次のような高度な機能も提供しています:チャート作成小規模から大規模なプロジェクトの開発プロセスを合理化するためのデータビジュアライゼーションとデータ分析。

2. 前提条件

Excelファイルからデータベースに書き込むためにIronXLライブラリを使用する前に、いくつかの前提条件を満たす必要があります。 これには以下が含まれます:

  • C#プロジェクトを作成するには、コンピュータにVisual Studioがインストールされている必要があります。
  • C#プロジェクトを作成する前に、システムにASP.NETがインストールされていることを確認してください。
  • データをエクスポートするためにIronXLライブラリをシステムにインストールする。 それはVisual StudioのNuGetパッケージマネージャーからIronXL NuGetパッケージをダウンロードすることで取得できます。
  • Visual StudioにSQLをインストールする。

Visual Studio で新しいプロジェクトを作成する方法

IronXLライブラリを使用してExcel関連の操作を実行する前に、Visual Studioで.NETプロジェクトを作成する必要があります。 どのバージョンのVisual Studioでも互換性がありますが、最新バージョンを使用することをお勧めします。 プロジェクトの要件に基づいて、Windows FormsやASP.NETなどのさまざまなプロジェクトテンプレートから選択できます。 このチュートリアルでは、IronXLの使用方法を示すために、コンソールアプリケーションプロジェクトテンプレートを使用することをお勧めします。

![以下の内容を日本語に翻訳してください:

C#でExcelデータを読み取りデータベーステーブルに挿入する方法、図1:新しいプロジェクトウィンドウを作成する](/static-assets/excel/blog/how-to-read-excel-data-and-insert-to-database-table-in-csharp/how-to-read-excel-data-and-insert-to-database-table-in-csharp-1.webp)

プロジェクトを新規作成

プロジェクトの種類を選択したら、プロジェクトに名前を付けて、その場所を選択する必要があります。 プロジェクトに対して、.NET Core 6などの希望するフレームワークを指定することもできます。

C#でExcelデータを読み込みデータベーステーブルに挿入する方法、図2:プロジェクト構成

プロジェクト構成

新しいプロジェクトが作成された後、コードを書いてアプリケーションを実行することができるprogram.csファイルにアクセスできます。

Excelデータを読み取りデータベーステーブルに挿入する方法 (C#)、図3:コードが開いているプロジェクト

コードが公開されているプロジェクト

Visual Studioプロジェクトが作成されたので、IronXLをインストールしましょう。

4. IronXLのインストール

IronXLライブラリはさまざまな方法でダウンロードしてインストールできますが、この記事では最も簡単な方法である2つの方法について説明します。

  • Visual StudioでNuGetパッケージを使用する。
  • Visual Studio コマンドラインの使用。

Visual Studioを使用する方法

IronXLライブラリをインストールするには、最初の方法としてVisual StudioのNuGetパッケージマネージャーを使用します。 NuGetパッケージマネージャーを開いて、参照タブでIronXLを検索してください。 検索結果でIronXLを見つけたら、それを選択してインストールを続行します。 インストールが完了したら、プロジェクトでIronXLライブラリを使用し始めることができます。

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

C#でExcelデータを読み取りデータベーステーブルに挿入する方法、図4:NuGetパッケージマネージャー

NuGet パッケージ マネージャー

次のスクリーンショットは検索結果におけるIronXLを示しています:

C#でExcelデータを読み取りデータベーステーブルに挿入する方法、図5: IronXLの検索結果

IronXL の検索結果

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

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

  • Visual Studioで、ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソールに移動します。
  • パッケージマネージャーコンソールタブに次の行を入力してください:
  :ProductInstall

パッケージは現在のプロジェクトにダウンロードされ、インストールされます。

Excelデータを読み取り、C#でデータベーステーブルに挿入する方法、図6:コマンドラインからのインストール

コマンドラインによるインストール

SQL Server データベースのインストールおよび構成

SQL サーバーデータベーステーブルを C# プロジェクトにインストールして統合するには、まず NuGet パッケージマネージャーに移動し、System.Data.SqlClient を検索してインストールします。

C#でExcelデータを読み込み、データベーステーブルに挿入する方法 図7: NuGetパッケージマネージャーUIでSqlClientを検索しインストールする

NuGetパッケージマネージャーUIでSqlClientを検索してインストールする

インストールが完了したら、プロジェクトメニューに移動し、「新しい項目の追加」をクリックしてください。

C#でExcelデータを読み取りデータベーステーブルに挿入する方法、図8: 新しい項目の追加

新しい項目を追加

新しいウィンドウが表示されます。 サイドメニューからデータを選択し、リストから「サービスベースのデータベース」をクリックします。データベースに適切な名前を付け、「追加」ボタンをクリックしてください。

C# で Excel データを読み込み、データベース テーブルに挿入する方法、図 9: サービス ベース データベースの選択

サービスベースのデータベースを選択

次に、ソリューションエクスプローラーで新しく作成されたデータベースを右クリックし、「開く」を選択します。 これにより、新しいサイドバーが開きます。

C#でExcelデータを読み取りデータベーステーブルに挿入する方法、図10:右クリックして「開く」を選択

右クリックして開くを選択

新しいサイドバーで、データベースをクリックしてプロパティに移動します。 そこから、接続文字列をコピーします。

エクセルデータを読み取り、C#でデータベーステーブルに挿入する方法、図11:右クリックしてプロパティを選択します

右クリックしてプロパティを選択

Excelデータを読み取り、データベーステーブルに挿入する方法(C#)、図 12: 接続文字列の処理

接続文字列の処理

接続設定をコピーした後、データベースインスタンスをクリックして新しいリストを開きます。テーブルフォルダを右クリックして、「新しいテーブルを追加」を選択します。

C#でExcelデータを読み取りデータベーステーブルに挿入する方法、図13: 新しいテーブルを追加

新しいテーブルを追加

データベースに新しいテーブルを作成するには、次の手順に従ってください。

  1. 新しいデータテーブルデザインページを開きます。

  2. 以下のSQLクエリを追加してください。これは、IdNameNumberという3つの列を持つ新しいテーブルを作成します。

  3. ページの上部にある「更新」ボタンをクリックしてください。

  4. 新しく生成されたテーブルがデータベースに追加されます。
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] varchar(100) NOT NULL,
  [number] INT
)
CREATE TABLE [dbo].[Table]
(
  [Id] INT NOT NULL PRIMARY KEY,
  [Name] varchar(100) NOT NULL,
  [number] INT
)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'CREATE TABLE [dbo].[Table] ([Id] INT @NOT NULL PRIMARY KEY, [Name] varchar(100) @NOT NULL, [number] INT)
VB   C#

SQL環境のセットアップが完了したので、Excelデータからこのデータベースを埋めるためのサンプルデータを作成しましょう。

データを読み取り、C#でデータベーステーブルに挿入する方法、図14:Excelファイルのデータ

Excelファイルデータ

ExcelファイルのデータをIronXLを使用してデータベースにインポートおよびエクスポート

IronXLを使用すると、開発者はExcelファイルとデータベース間のデータ転送プロセスを自動化でき、大幅な時間と労力を節約できます。 IronXL を利用することにより、開発者はワークフローを合理化し、手動でのデータ入力の必要性を排除して、データの正確性と最新性を確保できます。

SQLサーバーがセットアップされ、接続文字列がコピーされたら、以下のコードに接続文字列を貼り付け、エクセルファイルをコードにリンクし、必要に応じてSQLクエリを変更してください。 次に、単にコードを実行すると、データがデータベーステーブルにエクスポートされます。

using IronXL;
using System.Data;
using System.Data.SqlClient;

WorkBook workBook = WorkBook.Load("book.xlsx");

DataSet dataSet = workBook.ToDataSet();

string sql = "SELECT * FROM [dbo].[Table]";

string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
using IronXL;
using System.Data;
using System.Data.SqlClient;

WorkBook workBook = WorkBook.Load("book.xlsx");

DataSet dataSet = workBook.ToDataSet();

string sql = "SELECT * FROM [dbo].[Table]";

string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
    adapter.Update(dataSet);
}
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Private workBook As WorkBook = WorkBook.Load("book.xlsx")

Private dataSet As DataSet = workBook.ToDataSet()

Private sql As String = "SELECT * FROM [dbo].[Table]"

Private connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"

Using connection As New SqlConnection(connectionString)
	connection.Open()
	Dim adapter As New SqlDataAdapter(sql, connection)
	adapter.Update(dataSet)
End Using
VB   C#

データがデータベースに正常にエクスポートされたかどうかを確認するには、再度テーブルディレクトリを右クリックし、「New Query」をクリックします。新しいページが開きますので、上部のバーからデータベースを選択し、データを取得するための適切なSQLクエリを実行してください。

SELECT * FROM [dbo].[Table]

緑色のボタンを押すと、結果が一瞬で表示されます。

C#でExcelデータを読み取りデータベーステーブルに挿入する方法、図15:データベースデータ

データベースデータ

以下は、Microsoft Excelファイルからインポートしたデータをデータベースに書き込む方法です。

7. 結論

多くのアプリケーションにおいて、Excelスプレッドシートを扱うことは一般的な作業です。Excelシートからデータベーステーブルにデータを挿入することで、データ管理プロセスを効率化することができます。 このタスクをC#で達成する一つの方法は、IronXLのようなExcelファイルの読み取りと操作を可能にするライブラリを使用することです。 このライブラリを利用することにより、開発者はExcelシートからデータを簡単に抽出してデータベーステーブルに挿入できるため、データ管理プロセスが簡素化され、エラーの発生率が減少します。 この記事では、IronXLライブラリを使用して、ExcelファイルからSQL Serverデータベース内のSQL Serverテーブルにデータを追加する手順について説明します。 以下の内容を日本語に翻訳します:

また、IronXLライブラリの簡単な紹介を提供し、データを挿入するために必要な前提条件について説明し、Visual Studioで新しいプロジェクトを作成し、インストールする方法を説明しますIronXLSQL Serverデータベースを構成する。 以下のチュートリアルをご覧いただき、方法を学んでください。Excelファイルを読み込むC#で

さらに、IronXL では、セルのフォーマットなどの高度な機能も提供しています。テキストの配置、フォントサイズ、色, パネルの固定, 数式の追加, 条件付き書式の適用、およびパスワードによる暗号化.

ユーザーもまた、次の利点を享受できますIron SuiteIronPDF、IronOCR、IronXL、IronBarcode、IronWebscraperを含むソフトウェア開発ツールのコレクション。

< 以前
ASP.NET CoreでデータテーブルをExcelにエクスポートする方法
次へ >
C#でデータセットをExcelに変換する方法