C#でExcelファイルを連結またはマージする方法 Combine XLS
マイクロソフトは、強力なスプレッドシートプログラムであるMicrosoft Excelを作成しました。 これはデータの整理、分析、視覚化のために一般的に使用されるツールです。 それはMicrosoft Officeスイートの構成要素です。Excelは多くの機能を持っており、個人、専門家、学者、企業によって使用される柔軟なアプリケーションです。
金融、会計、ビジネス分析、データ分析、研究、教育など、多くの業界でExcelが広く使用されています。 その幅広い機能セットと適応性により、個人およびプロフェッショナルな文脈でデータを整理、評価、表示するための好ましいツールです。
IronXLは、さまざまな種類のExcel操作を実行するために使用できる強力なExcelライブラリです。 この記事では、C#でExcelファイルを連結またはマージする方法を学びます。
C#でExcelファイルをマージする方法
- Visual Studioで新しいプロジェクトを作成します
- プロジェクトにIronXLライブラリをインストールします
- マージが必要なすべてのExcelファイルを読み込みます
- 読み込まれたExcelシートからすべてのシートを抽出します
- シートを新しいExcelファイルに追加します
- 別のファイルに保存します
IronXLライブラリー
IronXLは、.NETアプリケーションでExcelファイルを管理する際のMicrosoft Interopの代替です。 IronXLは、.NET環境でExcelファイルをプログラムによって操作するより簡単で効果的かつ強力な方法を提供する一方で、Microsoft InteropはExcelとの通信のためにInteropコンポーネントの使用を必要とします。
IronXLの使用には以下の利点があります:
- パフォーマンスおよびリソースの経済性: IronXLはPC上にExcelアプリケーションがインストールされていないため、より良いパフォーマンスを発揮します。
- 可読性とシンプルさ: IronXLはよりシンプルなAPIを提供し、Microsoft Interopの複雑さなしにExcelファイルを読み書きおよび操作しやすくします。
- 互換性と依存性: IronXLはMicrosoft Excelをインストールする必要がないため、さまざまなOfficeやExcelバージョンとの依存性と互換性の問題を排除します。
- プラットフォームの独立性: IronXLは、異なる環境やプラットフォームでの展開の柔軟性と容易さを提供する一方で、Microsoft Interopは特定のMicrosoft Officeバージョンにより密接に関連しています。
.NET開発者がExcelファイルをプログラムで作業する必要がある場合、IronXLはそのパフォーマンス、使いやすさ、および追加アプリケーションへの依存が少ないため、しばしばより良い選択です。
IronXLとMicrosoft Interopの選択は、プロジェクトの特定の要件、既存のインフラストラクチャ、および各ライブラリへの開発者の精通度などの要因によって影響されるかもしれません。 この選択をする際に常にアプリケーションのニーズを考慮してください。IronXLライブラリについての詳細はこのページを訪れてください。
Visual Studioで新しいプロジェクトを作成する
Visual Studioアプリケーションを起動するには、メニューから"ファイル"をクリックし、"新規プロジェクト"を選択し、"コンソールアプリケーション"を選択します。

プロジェクト名とファイルの場所を入力します。 "作成"ボタンをクリックし、以下に示す必要な.NET Frameworkを選択します。

プロジェクトの構造は選択したアプリケーションタイプに依存します。 コンソール、Windows、およびWebアプリケーションを使用してアプリケーションを構築または実行し、Program.csファイルを入力してコードを追加します。

その後、ライブラリを追加し、コードをテストできます。
IronXLライブラリをインストールする
IronXLライブラリをインストールするには、NuGetパッケージマネージャコンソールを開き、以下のコマンドを入力します:
Install-Package IronXL.Excel

または、NuGetパッケージマネージャを使用して"IronXL"を検索し、関連パッケージのリストからダウンロードします。

IronXLを使用してExcelファイルを結合する
IronXLを使用すると、次のコードで複数のExcelファイルやワークシートを1つのExcelファイルやワークシートに結合できます:
using IronXL;
using System;
class Program
{
static void Main(string[] args)
{
// Array of file paths for the Excel files to be merged
string[] filePaths = { "file1.xlsx", "file2.xlsx" };
// Create a new workbook to add sheets from the existing files
WorkBook newWorkBook = WorkBook.Create();
try
{
foreach (var filePath in filePaths)
{
// Load the existing Excel file into a workbook
WorkBook existingWorkbook = WorkBook.LoadExcel(filePath);
// Retrieve the sheets from the loaded workbook
WorksheetsCollection sheetCollection = existingWorkbook.WorkSheets;
// Add each sheet from the existing workbook to the new workbook
foreach (var sheet in sheetCollection)
{
newWorkBook.WorkSheets.Add(sheet);
}
}
// Save the new workbook with a merged sheet collection
newWorkBook.SaveAs("MergedBook.xls");
}
catch (Exception ex)
{
// Output any exceptions encountered during the merging process
Console.WriteLine(ex.ToString());
}
}
}using IronXL;
using System;
class Program
{
static void Main(string[] args)
{
// Array of file paths for the Excel files to be merged
string[] filePaths = { "file1.xlsx", "file2.xlsx" };
// Create a new workbook to add sheets from the existing files
WorkBook newWorkBook = WorkBook.Create();
try
{
foreach (var filePath in filePaths)
{
// Load the existing Excel file into a workbook
WorkBook existingWorkbook = WorkBook.LoadExcel(filePath);
// Retrieve the sheets from the loaded workbook
WorksheetsCollection sheetCollection = existingWorkbook.WorkSheets;
// Add each sheet from the existing workbook to the new workbook
foreach (var sheet in sheetCollection)
{
newWorkBook.WorkSheets.Add(sheet);
}
}
// Save the new workbook with a merged sheet collection
newWorkBook.SaveAs("MergedBook.xls");
}
catch (Exception ex)
{
// Output any exceptions encountered during the merging process
Console.WriteLine(ex.ToString());
}
}
}Imports IronXL
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Array of file paths for the Excel files to be merged
Dim filePaths() As String = { "file1.xlsx", "file2.xlsx" }
' Create a new workbook to add sheets from the existing files
Dim newWorkBook As WorkBook = WorkBook.Create()
Try
For Each filePath In filePaths
' Load the existing Excel file into a workbook
Dim existingWorkbook As WorkBook = WorkBook.LoadExcel(filePath)
' Retrieve the sheets from the loaded workbook
Dim sheetCollection As WorksheetsCollection = existingWorkbook.WorkSheets
' Add each sheet from the existing workbook to the new workbook
For Each sheet In sheetCollection
newWorkBook.WorkSheets.Add(sheet)
Next sheet
Next filePath
' Save the new workbook with a merged sheet collection
newWorkBook.SaveAs("MergedBook.xls")
Catch ex As Exception
' Output any exceptions encountered during the merging process
Console.WriteLine(ex.ToString())
End Try
End Sub
End Class説明:
- ファイルパス:すべてのExcelファイルのファイルパスを格納する配列を使用します。
- ワークブック作成:
WorkBook.Create()を使用して新しいExcelワークブックを作成し、すべての結合シートを格納します。 - ファイル読み込み:ファイルパスを反復処理し、各Excelファイルを
WorkBookオブジェクトにWorkBook.LoadExcel(filePath)を使用して読み込みます。 - シート収集:読み込んだ各ワークブックからすべてのワークシートを取得します。
- シート追加:既存ファイルからの各ワークシートを新しいワークブックに
Addメソッドを使用して追加します。 - ファイル保存:新しいワークブックを"MergedBook.xls"として保存し、結合プロセスを完了します。
以下はExcelファイルを結合するために使用されるサンプル入力ファイルです。

計算されたマージファイル:

IronXLの詳細情報については、このページを訪れてください。
結論
IronXLは、他の外部ライブラリとは独立して動作するため、Excelの人気のあるアドオンです。 Microsoft Excelは自己完結型であるため、別途インストールする必要はなく、追加の依存関係なしにタスクを実行できます。 これは、Wordドキュメントのファイルを解析するために他のライブラリを必要とするInteropライブラリとは対照的です。
IronXLは、プログラミングでMicrosoft Excelドキュメントを処理する新しい方法を提供します。 それは計算、ソート、トリミング、検索と置換、ファイル格納などの操作を可能にします。 それは効率的にExcelデータの読み取り、書き込み、および管理を可能にします。
IronXLの初期コストは$799です。 または、顧客はサポートとソフトウェアのアップグレードを受け取るための1年間の会員費を選択することもできます。 有償プランは、不正再配布に対する保護も提供します。 IronXLの無料トライアルをご希望の場合、このリンクをクリックしてください。 詳細な価格情報については、IronXLライセンスウェブサイトをご覧ください。 Iron Software製品の詳細については、このページを訪れてください。
よくある質問
C#を使用して複数のExcelファイルを1つにマージするにはどうすればよいですか?
IronXLを使用して複数のExcelファイルを1つにマージすることができます。各Excelファイルを読み込み、シートを抽出し、それらを新しいワークブックに追加します。異なるファイルからすべてのシートを結合した後、新しいワークブックをマージされたExcelファイルとして保存します。
ExcelファイルをマージするためにIronXLがMicrosoft Interopよりも優れている理由は何ですか?
IronXLはMicrosoft Interopよりも優れている理由は、Microsoft Excelのインストールに依存せず、パフォーマンスの向上、プラットフォーム間での展開の容易さ、Excelファイル操作のための簡潔なAPIを提供するからです。
Visual Studio プロジェクトに IronXL をインストールする方法を教えてください。
Visual StudioプロジェクトにIronXLをインストールするには、NuGetパッケージマネージャーコンソールでInstall-Package IronXLコマンドを使用するか、NuGetパッケージマネージャーで「IronXL」を検索し、リストからダウンロードします。
Microsoft ExcelをインストールせずにC#でExcelファイルを操作することは可能ですか?
はい、IronXLを使用すると、C#でExcelファイルを操作することができます。IronXLはその操作にExcelを必要としないためです。
IronXLを使用してExcelファイルをマージする際の主なステップは何ですか?
IronXLを使用してExcelファイルをマージする主なステップには、新しいワークブックを作成し、既存のExcelファイルを読み込み、これらのファイルからシートを抽出し、それらのシートを新しいワークブックに追加し、マージされたワークブックを保存することが含まれます。
Excelファイル操作のためにVisual Studioでプロジェクトを開始するにはどうすればよいですか?
Excelファイル操作のためにVisual Studioでプロジェクトを開始するには、「ファイル」、次に「新しいプロジェクト」を選択し、要件に応じた適切な.NET Frameworkを選んで、新しい「コンソールアプリケーション」プロジェクトを作成します。
IronXLが従来のExcel操作方法に対して提供する利点は何ですか?
IronXLは、Excelのインストールが不要である、パフォーマンスが向上する、リソースの節約、シンプルで直感的なAPI、プラットフォーム独立性といった利点を提供し、現代の.NETアプリケーションに最適です。
IronXLは異なるバージョンのExcelファイルをどのようにしてマージしますか?
IronXLは、特定のExcelやOfficeバージョンに依存せずに動作するように設計されているため、異なるバージョンのExcelファイルをシームレスにマージし、互換性と使いやすさを確保します。






