C#でExcelデータを読み込み、データベースに挿入する
この記事では、C# Excel ライブラリである IronXL を使用して Excel ファイルからデータを読み取り、それをデータベース テーブルに挿入する方法について説明します。
1. IronXL
IronXL は、.NET 開発者向けに設計された強力なソフトウェア ライブラリであり、.NET アプリケーションで Excel ファイルを読み取り、書き込み、操作するための使いやすい API を提供します。 Excelスプレッドシートの作成、編集、エクスポートのための包括的な機能セットを提供します。対象マシンにMicrosoft OfficeやExcelがインストールされている必要はありません。XLS、XLSX、CSV、TSVなど、幅広いファイル形式をサポートしているため、開発者はどこにでも展開できるExcelベースのアプリケーションを簡単に作成できます。 IronXL は、チャート作成、データの視覚化、データ分析などの高度な機能も提供し、小規模から大規模プロジェクトの開発プロセスを効率化します。
2. 事前準備
IronXL ライブラリを使用して Excel ファイルからデータベースに書き込む前に、特定の前提条件を満たす必要があります。 これには以下が含まれます:
- C# プロジェクトを作成するには、コンピューターに Visual Studio がインストールされている必要があります。
- C# プロジェクトを作成する前に、ASP.NET もシステムにインストールされていることを確認します。
- データをエクスポートするには、システムに IronXL ライブラリをインストールします。 Visual StudioのNuGetパッケージマネージャーからIronXL NuGetパッケージをダウンロードすることで入手できます。
- Visual Studio に SQL がインストールされている。
3. Visual Studioで新しいプロジェクトを作成する
IronXL ライブラリを利用して Excel 関連の操作を実行する前に、Visual Studio で .NET プロジェクトを作成する必要があります。 Visual Studio のどのバージョンでも互換性がありますが、利用可能な最新バージョンを使用することをお勧めします。 プロジェクトの要件に応じて、Windows フォームや ASP.NET などのさまざまなプロジェクト テンプレートから選択できます。 このチュートリアルでは、IronXL の操作方法を示すために、コンソール アプリケーション プロジェクト テンプレートを使用することをお勧めします。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図1:新しいプロジェクトウィンドウを作成する 新しいプロジェクトを作成する
プロジェクトタイプを選択した後、プロジェクトに名前を付け、その場所を選択する必要があります。 また、プロジェクトのために好みのフレームワーク(例:.NET Core 6)を指定することもできます。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図2: プロジェクト構成 プロジェクト構成
新しいプロジェクトが作成されると、コードを記述してアプリケーションを実行できる program.cs ファイルにアクセスできるようになります。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図3:コードを開いたプロジェクト コードオープンのプロジェクト
Visual Studio プロジェクトが作成されたので、IronXL をインストールしましょう。
4. IronXLのインストール
IronXL ライブラリはさまざまな方法でダウンロードしてインストールできますが、この記事では最も簡単な方法を 2 つ紹介します。
- Visual Studio で NuGet パッケージを使用する。
- Visual Studioコマンドラインを使用します。
4.1 Visual Studioを使用する
IronXLライブラリをインストールする最初の方法は、Visual StudioのNuGetパッケージ マネージャーを使用することです。 NuGetパッケージマネージャを開き、参照タブでIronXLを検索してください。 検索結果にIronXLが表示されたら、それを選択してインストールを続行します。 インストールが完了したら、プロジェクトでIronXLライブラリを使用し始めることができます。
次のスクリーンショットは、Visual Studio で NuGet パッケージ マネージャーを開く方法を示しています。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図4: NuGetパッケージマネージャー NuGetパッケージマネージャー
次のスクリーンショットは、検索結果に IronXL が表示されています。
! Excelデータを読み取り、C#でデータベーステーブルに挿入する方法、図5:IronXL検索結果 IronXL検索結果
4.2 Visual Studioコマンドラインを使用する
多くの開発者はコマンドラインインターフェースを使用してパッケージをインストールすることを好みます。 コマンドラインを使用してIronXLをインストールするには、次の手順を実行します:
- Visual Studioで、ツール > NuGetパッケージマネージャ > パッケージマネージャコンソールに移動します。
パッケージマネージャコンソールタブで次の行を入力してください:
Install-Package IronXLInstall-Package IronXLSHELL
パッケージはダウンロードされ、現在のプロジェクトにインストールされます。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図6: コマンドラインからのインストール コマンドラインによるインストール
5. SQL Server データベースのインストールと構成
SQL サーバー データベース テーブルを C# プロジェクトにインストールして統合するには、まず NuGet パッケージ マネージャーに移動し、 System.Data.SqlClientを検索してインストールします。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図7: NuGetパッケージマネージャーUIでSqlClientを検索してインストールする NuGet パッケージ マネージャー UI で SqlClient を検索してインストールする
インストールしたら、プロジェクト メニューに移動して、"新しい項目の追加"をクリックします。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図8:新しい項目の追加 新しいアイテムを追加
新しいウィンドウが表示されます。 サイドメニューからデータを選択し、リストから"サービスベースのデータベース"をクリックします。データベースに適切な名前を入力し、"追加"ボタンをクリックします。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図9: サービスベースのデータベースを選択 サービスベースのデータベースを選択
次に、ソリューション エクスプローラーで、新しく作成したデータベースを右クリックし、"開く"を選択します。 新しいサイドバーが開きます。
! Excelデータを読み取り、C#でデータベーステーブルに挿入する方法、図10: 右クリックして"開く"を選択 右クリックして"開く"を選択します
新しいサイドバーで、データベースをクリックしてそのプロパティに移動します。 そこから接続文字列をコピーします。
! Excelデータを読み取り、C#でデータベーステーブルに挿入する方法、図11: 右クリックしてプロパティを選択 右クリックして"プロパティ"を選択します
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図12:接続文字列の処理 接続文字列の処理
接続設定をコピーしたら、データベースインスタンスをクリックして新しいリストを開きます。テーブルフォルダを右クリックし、"新しいテーブルの追加"を選択します。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図13: 新しいテーブルの追加 新しいテーブルを追加
データベースに新しいテーブルを作成するには、次の手順に従います。
- 新しいデータ テーブル設計ページを開きます。
- 次の SQL クエリを追加します。これにより、
Id、Name、Number3 つの列を持つ新しいテーブルが作成されます。 - ページ上部の"更新"ボタンをクリックします。
- 新しく生成されたテーブルがデータベースに追加されます。
CREATE TABLE [dbo].[Table]
(
[Id] INT NOT NULL PRIMARY KEY,
[Name] VARCHAR(100) NOT NULL,
[Number] INT
)SQL 環境がセットアップされたので、Excel データからこのデータベースに入力するためのサンプル データをいくつか作成してみましょう。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図14: Excelファイルのデータ Excelファイルデータ
6. IronXLを使用してExcelファイルのデータをインポートし、データベースにエクスポートする
IronXL を使用すると、開発者は Excel ファイルとデータベース間でデータを転送するプロセスを自動化できるため、時間と労力を大幅に節約できます。 IronXL を利用することで、開発者はワークフローを合理化し、手動でのデータ入力の必要性をなくし、データの正確性と最新性を確保できます。
SQL サーバーをセットアップし、接続文字列をコピーしたら、以下のコードに接続文字列を貼り付け、Excel ファイルをコードにリンクし、必要に応じて SQL クエリを変更します。 次にコードを実行するだけで、データがデータベース テーブルにエクスポートされます。
using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");
// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();
// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";
// Connection string for the SQL Server
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";
// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open(); // Open connection
// Use SqlDataAdapter to update SQL table with DataSet from Excel file
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
adapter.Update(dataSet);
}using IronXL; // Import the IronXL library
using System.Data; // Import data handling library
using System.Data.SqlClient; // Import SQL Client library for SQL database operations
// Load the Excel workbook
WorkBook workBook = WorkBook.Load("book.xlsx");
// Convert the workbook into a DataSet
DataSet dataSet = workBook.ToDataSet();
// Define the SQL query to select data from the table
string sql = "SELECT * FROM [dbo].[Table]";
// Connection string for the SQL Server
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";
// Open a connection to the SQL Server using the connection string
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open(); // Open connection
// Use SqlDataAdapter to update SQL table with DataSet from Excel file
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
adapter.Update(dataSet);
}データがデータベースに正常にエクスポートされたかどうかを確認するには、テーブルディレクトリをもう一度右クリックし、"新しいクエリ"をクリックします。新しいページが開くので、上部のバーからデータベースを選択し、適切な SQL クエリを実行してデータを取得します。
SELECT * FROM [dbo].[Table]緑のボタンを押すと、1秒以内に結果が表示されます。
! C#でExcelデータを読み取り、データベーステーブルに挿入する方法、図15: データベースデータ データベースデータ
これは、Microsoft Excel ファイルからインポートしたデータをデータベースに書き込む方法です。
7. 結論
Excel スプレッドシートの操作は多くのアプリケーションで一般的なタスクであり、Excel シートからデータベース テーブルにデータを挿入すると、データ管理プロセスを効率化できます。 C# でこのタスクを実現する 1 つの方法は、IronXL などの Excel ファイルの読み取りと操作を可能にするライブラリを使用することです。 このライブラリを利用することで、開発者は Excel シートからデータを簡単に抽出し、データベース テーブルに挿入できるため、データ管理プロセスが簡素化され、エラーの可能性が低減します。 この記事では、IronXL ライブラリを使用して、Excel ファイルから SQL Server データベース内の SQL Server テーブルにデータを追加する手順について説明します。 また、IronXL ライブラリの簡単な紹介、データの挿入に必要な前提条件について説明し、Visual Studio で新しいプロジェクトを作成する方法、 IronXLをインストールする方法、および SQL Server データベースを構成する方法についても説明します。 C# でExcel ファイルを読み取る方法については、次のチュートリアルをご覧ください。
さらに、IronXL は、テキストの配置、フォント サイズ、色、パネルの固定、数式の追加、条件付き書式の適用、パスワードによる暗号化などのセル書式設定のサポートを含む高度な機能も提供します。
ユーザーは、IronPDF、IronOCR、IronXL、IronBarcode、IronWebscraper を含むソフトウェア開発ツールのコレクションであるIron Suiteのメリットも享受できます。
よくある質問
C#でExcelファイルからデータを読み取るにはどうすればいいですか?
IronXLを使用して、C#でExcelファイルからデータを読み取ることができます。IronXLはExcelファイルを開いて読み取るメソッドを提供し、プログラムでデータにアクセスして操作することができます。
C#でExcelデータをSQLデータベースに挿入する手順は何ですか?
C#を使用してExcelデータをSQLデータベースに挿入するには、まずIronXLを使用してデータを読み取り、DataSetに変換します。その後、SqlDataAdapterを使用してデータベーステーブルをDataSetで更新します。
Excelデータをインポートするための新しいデータベーステーブルを作成するにはどうすればよいですか?
SQLクエリ(例: CREATE TABLE [dbo].[Table] ( [Id] INT NOT NULL PRIMARY KEY, [Name] VARCHAR(100) NOT NULL, [Number] INT ))を実行して、テーブル構造を定義することで新しいデータベーステーブルを作成できます。
C#プロジェクトでIronXLを使用するための前提条件は何ですか?
前提条件には、Visual Studioがインストールされていること、NuGetパッケージマネージャーからのIronXLライブラリがあること、およびVisual Studio環境でSQL Serverが構成されていることが含まれます。
Excelデータがデータベースに正常に挿入されたか確認する方法は?
SQL Serverデータベースのデータエントリを取得し、レビューするためにSELECT * FROM [dbo].[Table]のようなSQLクエリを実行することで、データ挿入を確認できます。
IronXLが提供する高度な機能は何がありますか?
IronXLは、チャート作成、データ視覚化、セルのフォーマット、パネルの固定、数式の追加、条件付きフォーマット、およびパスワードによる暗号化など、高度な機能を提供します。
Visual StudioプロジェクトにIronXLをインストールするにはどうすればよいですか?
NuGetパッケージマネージャーを使用してIronXLを検索しインストールするか、Visual StudioコマンドラインでInstall-Package IronXLを実行することで、Visual StudioプロジェクトにIronXLをインストールできます。
なぜExcelとSQLデータベースの間でデータ転送にIronXLを使用する必要があるのですか?
IronXLを使用してExcelとSQLデータベース間でデータ転送を行うと、プロセスが自動化され、データの正確性が確保され、最新情報を維持したまま時間を節約できます。








