IRONXLの使用

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

リーガン・パン
リーガン・パン
2024年1月4日
共有:

イントロダクション

Microsoftは、強力なスプレッドシートプログラムであるMicrosoft Excelを作成しました。 それは、データの整理、分析、可視化に広く使用されるツールです。 それはマイクロソフトオフィススイートのコンポーネントです。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ファイルを連結またはマージする方法 XLSを結合: 図3

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

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

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

Install-Package IronXL.Excel

C#でExcelファイルを連結または結合する方法: Figure 4

代わりに、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
$vbLabelText   $csharpLabel

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

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

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

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

C# で Excel ファイルを連結またはマージする方法: 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製品の詳細については、このページをご覧ください。

リーガン・パン
ソフトウェアエンジニア
レーガンはリーディング大学で電子工学の学士号を取得しました。Iron Softwareに入社する前の仕事では、一つのタスクに集中して取り組んでいました。Iron Softwareでは、営業、技術サポート、製品開発、マーケティングのいずれにおいても広範な業務に携わることが最も楽しいと感じています。彼は、Iron Softwareライブラリを開発者がどのように使用しているかを理解し、その知識を使ってドキュメントを継続的に改善し、製品を開発することを楽しんでいます。
< 以前
C#でoleDBを使用せずにExcelをデータテーブルに変換する方法
次へ >
C#でExcelファイルを読み込む方法