IRONXLの使用

VB .NETでExcelファイルをSQLデータベースにインポートする方法

公開済み 2024年1月27日
共有:

イントロダクション

SQLデータベースとExcelは、それぞれ独特の機能と能力を持つ、効果的な管理および分析ツールです。

エクセル

エクセル は、Microsoftによって作成された人気のあるスプレッドシートプログラムです。 その使いやすいインターフェイスと、さまざまなデータの整理、計算、分析、可視化活動を管理する適応力により、高い評価を得ています。 ユーザーは、行と列に配置されたExcelシートのセルにデータを入力し、数学的操作を実行し、データの要約と分析のためにチャート、グラフ、ピボットテーブルを作成したり、Excelからデータをインポートしたりすることができます。 Excelは、財務分析、在庫管理、報告、予算編成など、多くの目的で個人、企業、組織に広く利用されているツールです。

SQL (SQL)

IronXLを使用すると、C#やその他の.NET言語で直接SQLのようなクエリをExcelワークシートに対して実行することができます。IronXLのSQL機能は、Excelデータのフィルタリング、ソート、および集計を簡単かつ効率的に実行するために設計されています。

主な機能

  • SQLライクなクエリをサポート
  • Excelファイルの読み込みと解析
  • データのフィルタリングとソート
  • 集計機能によるデータ処理

構造化データは、SQLをサポートするデータベースを使用して保存、管理、取得されます。 (構造化照会言語 (SQL)). それらの基盤はリレーショナルモデルであり、行と列を持つテーブルで構成されています。 ユーザーは、SQLコマンドを使用して、MySQL、PostgreSQL、SQL Server、およびSQLiteのようなSQLデータベースを構築、変更、クエリを実行することができます。これらのデータベースは、強力なデータの取得および操作能力、スケーラビリティ、および整合性の保証を提供します。

この記事では、VB.NETを使用してプロバイダーMicrosoft.ACE.OLEDB.12.0を使用せずに、ExcelファイルをSQL Serverデータベーステーブルにインポートする方法について見ていきます。

VB.NET を使用して Excel ファイルを SQL データベースにインポートする方法

  1. 新しい Visual Studio プロジェクトを作成します。

  2. 必要なライブラリをインストールします。

  3. エクセルファイルをインポートし、それをDataTableに変換するまたはデータを取得することができます。

  4. SQLデータベースに接続します。

  5. インポートされたデータをデータベーステーブルに保存します。

  6. SQL接続を閉じ、オブジェクトを破棄します。

IronXLとは

強力な .NET フレームワークである IronXL は、C#、VB.NET、Visual Basic、およびその他の.NET言語で記述されたExcelファイルを扱うことを容易にするために作成されました。 それは、XLSおよびXLSXファイル形式に対応しています。 このライブラリを使用すると、開発者はExcelスプレッドシートを作成、読み取り、編集、および生成することがより簡単かつ迅速になります。 多種多様なツールと機能も利用可能です。

IronXLの主な機能と能力には以下が含まれます:

  • データ管理: IronXL は、Excel スプレッドシート内のデータの読み取り、書き込み、および操作を簡単にします。 2次元配列を使用してセルを取得することができ、計算、数式、およびデータの書式設定が可能です。
  • Excelファイルの作成と変更: 新しいExcelファイルの生成および既存のファイルの変更に加えて、開発者はワークシートを追加、削除、および管理することも可能です。 彼らはまた、多くのExcelコンポーネントと連携して作業することができます。
  • IronXLは様々なアプリケーションシナリオで利用でき、クロスプラットフォーム互換性のおかげで、Xamarin、.NET Core、および.NET Frameworkを含む複数の.NETプラットフォームと互換性があります。
  • 多様性と互換性: IronXLは古いXLS形式とより新しいXLSX Excel形式の両方をサポートしており、複数のExcelバージョンと互換性があります。
  • レガシーおよび最新のExcel形式のサポート: 現代的なXMLベースの形式をサポートすることができます。 (Excel 2007にさかのぼるXLSX) さらに従来のExcelファイル形式 (Excel 97–2003に遡るXLS).
  • 有用性: 分かりやすいプロパティおよび関数を持つシンプルなAPIを提供することで、このライブラリは経験の異なる開発者に対してExcel関連の作業をより利用しやすくします。
  • データ抽出とエクスポート: IronXLはExcelファイルからのデータ抽出と、Excelデータを複数のフォーマットにエクスポートする機能を提供し、データベースや他のシステムとのインターフェースを簡単にします。
  • ドキュメントとサポート:IronXLは、Excel関連のタスクでライブラリを使用する開発者を支援するために、豊富なドキュメント、チュートリアル、およびサポートを提供しています。
  • 自動化と効率: Excelのタスクを自動化することにより、IronXLはユーザーがより生産的になり、手作業に費やす時間を減らし、データ駆動型の効率的なアプリケーションを開発することを可能にします。
  • 統合とカスタマイズ: Excelデータをさまざまな形式にエクスポートするための選択肢を提供することで、個別のレポートやデータ駆動ソリューションの作成が容易になります。 データベースやその他のシステムとも良く動作します。

    ファイナンス、データ分析、レポーティング、ビジネスインテリジェンス、ソフトウェア開発などの多数の分野でIronXLが使用されています。 開発者はExcelファイルをプログラム的に扱い、Excel統合とデータ操作を組み合わせた信頼性の高いソリューションを作成することができます。 クリック これ 詳細をご覧ください。

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

Visual Studio のコンソールプロジェクトを簡単に作成できます。 Visual Studioでコンソールアプリケーションを作成するには、次の手順に従います:

  1. Visual Studioを起動する: Visual Studioを開く (お使いのPCにVisual Studioがインストールされていることを確認してください。).

新しいプロジェクトを開始

ファイルを選択し、次に新規作成を選び、次にプロジェクトを選択します。

VB .NETでExcelファイルをSQLデータベースにインポートする方法:図1 - コンソールアプリ

「新しいプロジェクトを作成」ボックスの左パネルから、C#など、お好みのプログラミング言語を選択してください。

次に、利用可能なプロジェクトテンプレートのリストから、「Console App」 または 「Console App」 を選択します。 (.NET Core(ドットネット コア))「** template」

「名前」セクションに記入して、プロジェクトに名前を付けてください。

VB .NET で Excel ファイルを SQL データベースにインポートする方法: 図2 - プロジェクト構成

プロジェクトを保存する場所を選択してください。

新しいコンソールアプリケーションプロジェクトを開始するには、「Create」をクリックします。

VB .NETでExcelファイルをSQLデータベースにインポートする方法: 図3 - コンソールアプリの作成

IronXLライブラリのインストール

IronXLライブラリをインストールするには、以下の手順に従ってください:

  1. ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソール の順にクリックして、NuGet パッケージ マネージャー コンソールを開きます。

  2. 以下のコマンドを使用してIronXLライブラリをインストールします:
Install-Package IronXL.Excel

VB .NETでExcelファイルをSQLデータベースにインポートする方法: 図4 - IronXLをインストールする

また、NuGet パッケージ マネージャーを使用して IronXL ライブラリをインストールすることもできます。 パッケージ「IronXL」を検索し、リストからダウンロードしたいIronXLに関連するNuGetパッケージを選択してください。

VB .NETでExcelファイルをSQLデータベースにインポートする方法: 図5 - IronXL

SQLデータベースにインポートして追加するためのIronXL

これらの手順は、IronXLを使用してExcelファイルからデータをインポートし、VB.NETを使用してSQLデータベースに追加するために使用できます。 以下の例は、Excelファイルを読み取り、データをSQL Serverデータベースに挿入するためにIronXLを使用する方法を示しています。

Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

Module Program
    Sub Main(args As String())
        Dim excelFilePath As String = "Demo.xlsx"
        Dim connectionString As String = "Data Source=DESKTOP-QBIBUNV;Initial Catalog=Mohammed;Integrated Security=True;Encrypt=False"

        ' Load Excel file using IronXL
        Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
        Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

        ' Set up SQL connection
        Using connection As New SqlConnection(connectionString)
            connection.Open()

            ' Iterate through rows and insert data into SQL database
            For Each row In worksheet.ToDataTable().AsEnumerable().ToList()
                ' Extract cell data
                Dim cellData As List(Of String) = New List(Of String)()

                For Each cell In row.ItemArray
                    cellData.Add(cell)
                Next

                ' Insert data into SQL database
                InsertDataIntoSQL(connection, cellData)
            Next
        End Using
    End Sub

    ' Method to insert data into SQL database
    Private Sub InsertDataIntoSQL(connection As SqlConnection, data As List(Of String))
        ' Define your SQL INSERT query
        Dim sqlQuery As String = "INSERT INTO ExcelData (Name, Age) VALUES (@Value1, @Value2)"

        ' Create a SqlCommand object with parameters
        Using command As New SqlCommand(sqlQuery, connection)
            ' Set parameters (adjust as per your column names and data)
            command.Parameters.AddWithValue("@Value1", data(0))
            command.Parameters.AddWithValue("@Value2", data(1))

            ' Execute the SQL command
            command.ExecuteNonQuery()
        End Using
    End Sub
End Module
VB.NET

APIを使用することで、IronXLはExcelファイルを読み込むための便利な方法を提供します。 (WorkBook.Load) 行とセルを通して繰り返し処理を行い、内容を取得します。 (「ExcelRow」および「ExcelCell」オブジェクト).

プログラムはIronXLを使用してExcelファイルからデータを読み取り、各行のセル値を取得し、後の処理のために適切なデータ構造に保存します。

VB .NETにおけるExcelファイルをSQLデータベースにインポートする方法:図6 - Excelファイル

次に、プログラムは接続文字列と System.Data.SqlClient 名前空間を使用して SQL Server データベースに接続します。 SQL INSERTクエリが準備され、そのExcelデータを対応するSQLテーブルに挿入します。 プログラムはパラメータ化されたSQLコマンドを使用します (SqlCommand) Excelデータを SQLデータベースに挿入するためには、取得したセルの値を適切なSQLクエリパラメータにマッピングし、command.ExecuteNonQueryを使用してINSERTコマンドを実行します。()`.

VB .NETでExcelファイルをSQLデータベースにインポートする方法: 図7 - SQL Server

コードについて詳しく知るには、チェックしてください これ.

結論

IronXLライブラリはExcelオブジェクトライブラリであり、ソフトウェア開発、金融、データ分析、レポーティングなど、様々な業界で広く使用されています。 それは、Excel を使用して業務を最大化したい企業や開発者にとって不可欠なツールです。 IronXLは、動的でデータ中心のアプリケーションを作成し、効率的かつプログラム的にExcelファイルを管理することを可能にします。

要約すると、VB.NETアプリケーションでIronXLを使用することにより、ExcelファイルからSQLデータベースへのデータ転送がシームレスになり、両プラットフォームにおけるデータ管理の効率性と柔軟性が向上します。 IronXLは、非商業利用に制限がある無料のCommunity Editionを提供しています。 有料バージョンは、$liteLicense から始まり、サブスクリプションまたは永続ライセンスモデルを通じて購入可能で、追加機能、サポート、完全な機能を提供します。 公式にアクセスしてください ウェブサイト 包括的で最新のライセンス情報については。 Iron Software製品に関する詳細な情報は、こちらのページをご覧ください。 リンク.

< 以前
ExcelファイルをC#でXMLに変換する方法
次へ >
C#でCSVをデータテーブルにインポートする方法