IRONXLの使用

C# Combine XLSでExcelファイルを連結またはマージする方法

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

イントロダクション

マイクロソフトが作成したマイクロソフトエクセル強力なスプレッドシートプログラム。 それは、データの整理、分析、可視化に広く使用されるツールです。 それはマイクロソフトオフィススイートのコンポーネントです。Excelは多くの機能を持つ柔軟なアプリケーションであり、個人、専門家、学者、および企業によって使用される可能性があります。

多くの業界では、金融、会計、ビジネス解析、データ解析、研究、教育などでExcelを広く利用しています。 その幅広い機能セットと適応性により、個人およびプロフェッショナルなコンテキストの両方でデータを整理、評価、および表示するための優れたツールです。

IronXLは、さまざまな種類のExcel操作を実行できる強力なExcelライブラリです。 この記事では、C#でExcelファイルを連結またはマージする方法を学びます。

C#でExcelファイルをマージする方法

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

  2. プロジェクトに IronXL ライブラリをインストールする

  3. 結合が必要なすべてのExcelファイルを読み込みます。

  4. ロードされたExcelシートからすべてのシートを抽出します。

  5. シートを新しいExcelファイルに追加します。

  6. 別のファイルに保存してください。

IronXLライブラリ

IronXLは、.NETアプリケーションでExcelファイルを管理する際のMicrosoft Interopの代替手段です。 IronXLは、.NET環境でプログラムによってExcelファイルを操作するためのより簡単で効果的かつ強力な方法を提供しますが、Microsoft InteropはExcelと通信するためにInteropコンポーネントの使用を必要とします。

IronXL を使用することには以下の利点があります:

  • パフォーマンスとリソース経済性: IronXLはPCにExcelアプリケーションがインストールされている必要がないため、これらの点でMicrosoft Interopよりも優れたパフォーマンスを発揮します。
  • 読みやすさとシンプルさ: Microsoft Interopの欠点を排除し、IronXLはExcelファイルの読み取り、書き込み、および操作を容易にするシンプルなAPIを提供します。
  • 互換性と依存関係: IronXLはコンピューターにMicrosoft Excelがインストールされている必要がないため、さまざまなOfficeやExcelのバージョンとの依存関係や互換性の問題を解消します。
  • プラットフォームの独立性: IronXL は、より広範な設定やプラットフォームにわたって柔軟性と展開の容易さを提供しますが、Microsoft Interop は特定の Microsoft Office バージョンとより強く関連しています。

    .NET開発者がプログラムでExcelファイルを操作する必要がある場合、その速度、使いやすさ、および追加のアプリケーションのインストール要件が少ないため、IronXLが頻繁により良い選択肢となります。

    ユーザーがIronXLとMicrosoft Interopのどちらを選ぶかは、プロジェクトの詳細、既存のインフラストラクチャ、および各ライブラリに対する専門知識のレベルなどの要因によって左右される可能性があります。

    選択肢の中から選ぶ際には、常にアプリケーションの要求を念頭に置いてください。 こちらをご覧くださいページIronXLライブラリについて詳しく学ぶために。

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

Visual Studioアプリケーションを起動するには、ファイルメニューから「ファイル」をクリックしてください。 「新しいプロジェクト」をクリックし、「コンソールアプリケーション」を選択します。

C#でExcelファイルを連結またはマージする方法 Combine XLS: 図1

ファイルの場所を選択した後、指定されたテキストフィールドにプロジェクト名を入力してください。 次に、以下のサンプルに示されているように、[Create] ボタンをクリックし、必要な .NET Framework を選択します。

C#でExcelファイルを結合またはマージする方法 Combine XLS: フィギュア 2

Visual Studioプロジェクトの構造は、選択されたアプリケーションに依存します。 コンソール、Windows、またはWebアプリケーションを使用してアプリケーションをビルドまたは実行し、program.csファイルにコードを追加することができます。

C#でExcelファイルを連結またはマージする方法 Combine XLS: 図3

ライブラリを追加し、コードをテストできます。

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

次のパッチはIronXLライブラリに依存しているので、インストールしてください。 最後にこれを終えるために、NuGetパッケージマネージャーコンソールを開き、以下のコマンドを入力してください:

Install-Package IronXL.Excel

![C# で Excel ファイルを結合またはマージする方法

Combine XLS: 図4](/static-assets/excel/blog/how-to-concatenate-or-merge-excel-files-in-csharp-combine-xls/how-to-concatenate-or-merge-excel-files-in-csharp-combine-xls-4.webp)

代わりに、NuGetパッケージマネージャーを使用して、パッケージ「IronXL」を探すこともできます。 このIronXLに関連するすべてのNuGetパッケージのリストから、ダウンロードする必要があるものを選択できます。

C#におけるExcelファイルを連結または結合する方法 Combine XLS: 図5

IronXLを使用してExcelファイルを結合

複数のExcelファイルや複数のExcelワークシートを単一のExcelファイルやワークシートに結合することが、下記のコードを数行使用してIronXLライブラリで可能です。

using IronXL;
using IronBarCode;
using System;
using System.Data;
string [] Filpath = { "file1.xlsx", "file2.xlsx" };
WorkBook book=null;
WorkBook newbook = null;
WorksheetsCollection sheetcollection = null;
try
{
    newbook = WorkBook.Create();
    foreach (var file in Filpath)
    {
        book=WorkBook.LoadExcel(file);
        sheetcollection = book.WorkSheets;
        foreach(var sheet in sheetcollection)
        {
            newbook.WorkSheets.Add(sheet);
        }
    }
    newbook.SaveAs("MergedBook.xls");
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
using IronXL;
using IronBarCode;
using System;
using System.Data;
string [] Filpath = { "file1.xlsx", "file2.xlsx" };
WorkBook book=null;
WorkBook newbook = null;
WorksheetsCollection sheetcollection = null;
try
{
    newbook = WorkBook.Create();
    foreach (var file in Filpath)
    {
        book=WorkBook.LoadExcel(file);
        sheetcollection = book.WorkSheets;
        foreach(var sheet in sheetcollection)
        {
            newbook.WorkSheets.Add(sheet);
        }
    }
    newbook.SaveAs("MergedBook.xls");
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
Imports IronXL
Imports IronBarCode
Imports System
Imports System.Data
Private Filpath() As String = { "file1.xlsx", "file2.xlsx" }
Private book As WorkBook=Nothing
Private newbook As WorkBook = Nothing
Private sheetcollection As WorksheetsCollection = Nothing
Try
	newbook = WorkBook.Create()
	For Each file In Filpath
		book=WorkBook.LoadExcel(file)
		sheetcollection = book.WorkSheets
		For Each sheet In sheetcollection
			newbook.WorkSheets.Add(sheet)
		Next sheet
	Next file
	newbook.SaveAs("MergedBook.xls")
Catch ex As Exception
	Console.WriteLine(ex.ToString())
End Try
VB   C#

上記の最初では、複数のファイルのリストを作成しています。 既存のファイルを読み込むためと新しいマージされたExcelファイルを作成するために、Excelワークブック用の2つのオブジェクトを作成しています。 次のようにfor-eachループを使用して、入力されたExcelワークブックを以前に作成したオブジェクトに渡しています。

Excel ファイルを読み込むために、WorkBook オブジェクトで利用可能な LoadExcel メソッドを使用しています。 Excelファイルをロードした後、worksheetメソッドを使って複数のExcelワークシートを取得し、ワークシートコレクションに追加します。

ワークシートコレクションは、for-eachループを使用して一度だけ処理することができます。Excelファイルの結合は、worksheetオブジェクトのAddメソッドを利用することで簡単に行うことができます。 これにより、複数のExcelワークブックをマージし、複数のワークシートを新しいExcelファイルとして保存することができます。その際、ファイル名をパラメーターとして渡すためにSaveAsメソッドを使用します。 マージされたExcelワークブック、Excelファイル、またはExcelワークシートは、プロセスの終了時に保存できます。

以下は、Excelファイルを結合するために使用しているサンプルファイルです。

C#でExcelファイルを連結またはマージする方法 Combine XLS: 図6

結果:

C#でExcelファイルを連結またはマージする方法 Combine XLS: 図7

IronXLのコードについて詳しく知るには、参照してください。これ.

結論

最も人気のあるExcel用アドオンの一つはIronXLです。 それは他の外部ライブラリに依存しません。 Microsoft Excel は自己完結型のプログラムであるため、インストールする必要はありません。 それはさまざまなチャネルを通じて運営されています。 一方、Word文書を編集するには、Interopライブラリがファイルを解析するための他のライブラリを必要とします。

Microsoft Excel ドキュメントを使用するあらゆるプログラミング手順に対して、 IronXL は完全なソリューションです。 計算、テキストまたは数値の並べ替え、トリミング、追加、検索および置換、結合および分割、ファイルの保存は、いくつかの可能な操作です。 スプレッドシートデータや新しいセルデータタイプを生成および評価することが可能です。また、Excelデータの読み取り、書き込み、管理を容易にします。

IronXLの初期費用は$749です。 また、顧客はサポートおよびソフトウェアのアップグレードを受けるために、一年会員費を支払うことができます。 有料で、IronXLは無許可の再配布を防止します。 IronXLの無料トライアルについては、こちらをクリックしてください。リンク. より具体的な価格の詳細については、IronXLのライセンスページをご覧ください。ウェブサイト. こちらをご覧くださいページIron Software 製品の詳細については。

< 以前
C#でoleDBを使用せずにExcelをデータテーブルに変換する方法
次へ >
C#でExcelファイルを読み込む方法