フッターコンテンツにスキップ
他のコンポーネントと比較する

IronXLとFastExcelの.NETでの比較

C# で Excel ドキュメントを操作する場合、最も人気のあるライブラリとして、Iron Suite バンドルに含まれるソリューションである IronXL と FastExcel v4 の 2 つが挙げられます。どちらのライブラリも、開発者が Excel ブックを操作および管理するのに役立つさまざまなツールと機能を提供しています。 これら 2 つのソフトウェアは個別には優れていますが、優れているだけでは十分ではありません。 それぞれの機能を評価し、お客様のニーズに最適なオプションを決定します。 この記事では、IronXL と FastExcel v4 を比較し、各ライブラリの長所と短所を強調し、C# で両方を使用する方法の例を示します。

! C#でExcelデータを読み取り、データベーステーブルに挿入する方法: 図1 - FastExcel V4チェックブック

ファストエクセル v4

FastExcel v4 は、Excel ブックを管理するためのツールを提供するマルチスレッド C# ライブラリ ファミリです。 FastExcel v4 の最新バージョンでは、定義名の管理を簡素化する Tables Sheet Manager Pro や、ワークブックの肥大化を軽減する FastExcel SpeedTools などの新機能が導入されています。

FastExcel v4 を使用すると、開発者はニーズに応じて自動計算方法と手動計算方法を選択できます。 ライブラリには、無制限の数式と計算のサポートを含む、ワークシートとワークブックを操作するための幅広いツールが用意されています。

FastExcel v4 の主な利点の 1 つは、その速度です。 ライブラリは、大規模または複雑なワークブックを扱う場合でも効率的に機能するように設計されています。 計算プロセスを大幅に高速化できるマルチスレッド計算が含まれており、メモリ使用量を管理してパフォーマンスを最適化するツールも提供されます。

ファストエクセル v4: 機能セット

  • XLSX 形式で Excel ファイルを読み書きします。
  • LINQ を使用して Excel ファイルからデータを読み取ります。
  • データ検証とエラー処理のサポート。
  • Excel ファイルの読み取りと書き込みのための高性能ストリーミング API。
  • マルチスレッドをサポートし、大規模な Excel ファイルの処理を高速化します。
  • .NET Framework および .NET Core と互換性があります。
  • LINQ、Entity Framework、Apache Spark などの一般的なライブラリとの統合。

IronXL

IronXL は、開発者がプログラムで Excel ファイルを操作および作成できるようにする強力な C# ライブラリです。 外部依存関係や追加のソフトウェアのインストールなしで、Excel ファイルの読み取り、書き込み、変更を行うための使い慣れた C# 構文とメソッドを提供します。

IronXL を使用すると、開発者は Excel ファイルでの作業を簡素化する幅広い機能とツールにアクセスできます。 これには、さまざまな Excel ファイル形式のサポート、ワークシートや表を操作する機能、定義された名前や数値形式などを管理するためのツールが含まれます。 このライブラリは、自動および手動の計算モードに加えて、パフォーマンスを最適化するためのマルチスレッド Excel 計算もサポートしています。

IronXL を使用すると、開発者は簡単に新しい Excel ワークブックを作成したり、既存のワークブックにデータを追加したり、C# コードを使用して Excel の数式や計算を操作したりできます。 ライブラリには、Excel コードのトラブルシューティングと最適化に役立つ、数式エクスプローラーやテーブル シート マネージャーなどの強力なデバッグ ツールと機能も含まれています。

IronXLの機能セット

  • XLS、XLSX、CSV、TSV などのさまざまなファイル形式からデータを読み込み、読み取り、編集します。
  • XLS、XLSX、CSV、TSV、JSON などのさまざまなファイル形式でデータをエクスポートして保存します。
  • System.Dataオブジェクトを利用します。これにより、ユーザーは Excel WorkBookスプレッドシートをSystem.Data.DataSetおよびSystem.Data.DataTableオブジェクトとして操作できるようになります。
  • シートが編集されるたびに再計算される Excel 数式をサポートします。
  • 使いやすいWorkSheet構文を使用して、ユーザーが直感的に範囲を作成および結合できるようにします。
  • 範囲、列、行の並べ替えとフィルタリングの機能を提供します。
  • 視覚スタイル、フォント、サイズ、背景パターン、境界線、配置、数値形式など、ユーザーが好みに応じてセルのスタイルを設定できるようにします。

ファストエクセル v4 を使用した Excel ドキュメントの操作

FastExcel v4を使い始めるには、公式ウェブサイトから最新バージョンをダウンロードする必要があります。フルライセンス版を購入する前に、試用版でライブラリを評価することができます。 FastExcel v4 をインストールしたら、Excel ファイルの管理に役立つツールを使い始めることができます。

! C#でExcelデータを読み取り、データベーステーブルに挿入する方法: 図2 - ClosedXML NuGetのインストール

Excelファイルの操作

FastExcel v4 は、C# で Excel ファイルを操作するためのさまざまなツールを提供します。 FastExcel v4 を使用すると、Excel ブックを開いて保存したり、ワークシートを操作したり、定義された名前を管理したりすることができます。 FastExcel v4 を使用して Excel ファイルを操作する方法の例をいくつか示します。

Excel ブックを開いて保存する

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    // Do some work on the workbook here.
    workbook.Save();
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    // Do some work on the workbook here.
    workbook.Save();
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	' Do some work on the workbook here.
	workbook.Save()
End Using
$vbLabelText   $csharpLabel

ワークシートの操作

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets["Sheet1"];
    // Do some work on the worksheet here.
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets["Sheet1"];
    // Do some work on the worksheet here.
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Dim worksheet = workbook.Worksheets("Sheet1")
	' Do some work on the worksheet here.
End Using
$vbLabelText   $csharpLabel

定義名の管理

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var definedNames = workbook.DefinedNames;
    // Do some work on the defined names here.
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var definedNames = workbook.DefinedNames;
    // Do some work on the defined names here.
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Dim definedNames = workbook.DefinedNames
	' Do some work on the defined names here.
End Using
$vbLabelText   $csharpLabel

計算の最適化

FastExcel v4 の最も重要な利点の 1 つは、Excel ブック内の計算を最適化できることです。 ワークブックのサイズと複雑さが増すと、Excel の計算がボトルネックになる可能性があります。 FastExcel v4 は、計算を最適化し、パフォーマンスを向上させるのに役立つツールを提供します。

C#でExcelデータを読み取り、データベーステーブルに挿入する方法:図3 - FastExcel V3を購入 - Excelを高速化 - 意思決定モデル

自動計算と手動計算

デフォルトでは、Excel ブックは自動計算を使用します。つまり、セルが変更されるたびに Excel が数式を再計算します。 これは、特に大きなワークブックの場合、時間がかかる可能性があります。 FastExcel v4 では、自動計算と手動計算を切り替えることができるため、パフォーマンスが大幅に向上します。 手動計算に切り替える方法の例を次に示します。

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.CalculationMode = CalculationMode.Manual;
    // Do some work on the workbook here.
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.CalculationMode = CalculationMode.Manual;
    // Do some work on the workbook here.
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	workbook.CalculationMode = CalculationMode.Manual
	' Do some work on the workbook here.
End Using
$vbLabelText   $csharpLabel

配列計算のボトルネック

配列計算も Excel ブックのボトルネックになる可能性があります。 FastExcel v4 には、配列計算を最適化し、パフォーマンスを向上させるのに役立つツールが用意されています。 FastExcel v4 を使用して配列計算を最適化する方法の例を次に示します。

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
    // Do some work on the workbook here.
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas;
    // Do some work on the workbook here.
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	workbook.OpenCalculationMethods = OpenCalculationMethods.ArrayFormulas
	' Do some work on the workbook here.
End Using
$vbLabelText   $csharpLabel

C#でExcelデータを読み取り、データベーステーブルに挿入する方法: 図4 - 配列計算の最適化

FastExcel プロファイラー

FastExcel Profiler は、Excel の計算を最適化するための非常に貴重なツールです。 FastExcel Profiler は、計算上の問題、過剰な肥大化、および Excel ブックのパフォーマンスに影響を与える可能性のあるその他の問題に関する詳細な情報を提供します。 FastExcel Profiler を使用して計算を最適化する方法の例を次に示します。

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var profiler = new FastExcelProfiler(workbook))
    {
        // Do some work on the workbook here.
        profiler.DisplayReport();
    }
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var profiler = new FastExcelProfiler(workbook))
    {
        // Do some work on the workbook here.
        profiler.DisplayReport();
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using profiler = New FastExcelProfiler(workbook)
		' Do some work on the workbook here.
		profiler.DisplayReport()
	End Using
End Using
$vbLabelText   $csharpLabel

テーブルシートマネージャープロ

FastExcel TableSheet Manager Pro は、FastExcel v4 ファミリーのもう 1 つの強力なツールです。 Excel ブック内のテーブルを管理するのに役立つツールを提供します。 Tables Sheet Manager Pro を使用すると、1 つのワークシートで無制限の数のテーブルを簡単に管理できるため、余分な肥大化を大幅に削減し、パフォーマンスを向上させることができます。 Tables Sheet Manager Pro の使用方法の例を次に示します。

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var manager = new TableSheetManagerPro(workbook))
    {
        // Do some work on the tables here.
    }
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var manager = new TableSheetManagerPro(workbook))
    {
        // Do some work on the tables here.
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using manager = New TableSheetManagerPro(workbook)
		' Do some work on the tables here.
	End Using
End Using
$vbLabelText   $csharpLabel

数値形式

FastExcel v4 には、Excel ブック内の数値形式を管理するのに役立つツールも用意されています。 FastExcel v4 を使用すると、ワークブック内のセル、列、行に数値形式を適用できます。 FastExcel v4 を使用して数値形式を適用する方法の例を次に示します。

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets["Sheet1"];
    var column = worksheet.Columns["A"];
    column.Style.NumberFormat = "#,##0.00";
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    var worksheet = workbook.Worksheets["Sheet1"];
    var column = worksheet.Columns["A"];
    column.Style.NumberFormat = "#,##0.00";
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Dim worksheet = workbook.Worksheets("Sheet1")
	Dim column = worksheet.Columns("A")
	column.Style.NumberFormat = "#,##0.00"
End Using
$vbLabelText   $csharpLabel

数式エクスプローラー

FastExcel v4 には、Excel ブック内の数式を表示できる数式エクスプローラー ツールが用意されています。 数式エクスプローラーを使用すると、数式エラーのトラブルシューティングや計算の最適化に役立ちます。 数式エクスプローラーの使用方法の例を次に示します。

using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var explorer = new FormulaExplorer(workbook))
    {
        // Do some work on the formulas here.
    }
}
using (var workbook = new Workbook(@"C:\Test\MyWorkbook.xlsx"))
{
    using (var explorer = new FormulaExplorer(workbook))
    {
        // Do some work on the formulas here.
    }
}
Using workbook As New Workbook("C:\Test\MyWorkbook.xlsx")
	Using explorer = New FormulaExplorer(workbook)
		' Do some work on the formulas here.
	End Using
End Using
$vbLabelText   $csharpLabel

IronXL を使用した Excel ドキュメントの操作

IronXL を使い始めるには、IronXL パッケージをインストールする必要があります。 NuGetパッケージマネージャーを使用するか、IronXLウェブサイトからパッケージをダウンロードすることでインストールできます。パッケージをインストールしたら、C#プロジェクトでIronXLを使い始めることができます。

ワークブックを開いて保存する: IronXL を使用して Excel ワークブックを開くには、次のコードを使用できます。

WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
WorkBook workbook = WorkBook.Load(@"C:\Test\MyWorkbook.xlsx");
Dim workbook As WorkBook = WorkBook.Load("C:\Test\MyWorkbook.xlsx")
$vbLabelText   $csharpLabel

これにより、指定されたパスにあるワークブックが開きます。 次のコードを使用して新しいワークブックを作成することもできます。

WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.Xlsx);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.Xlsx)
$vbLabelText   $csharpLabel

IronXL を使用してワークブックを保存するには、次のコードを使用できます。

workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs(@"C:\Test\MyWorkbook.xlsx");
workbook.SaveAs("C:\Test\MyWorkbook.xlsx")
$vbLabelText   $csharpLabel

これにより、ワークブックが指定されたパスに保存されます。

! C#でExcelデータを読み取り、データベーステーブルに挿入する方法: 図5 - ワークブックを保存する

Excelワークシートの操作

IronXL を使用してワークブック内のワークシートを操作するには、次のコードを使用できます。

WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
$vbLabelText   $csharpLabel

これにより、ワークブックから"Sheet1"という名前のワークシートが取得されます。 その後、必要に応じてワークシートを操作できます。

定義名の管理

IronXL は、Excel ブック内の定義済みの名前を管理するのに役立つツールを提供します。 定義済みの名前を作成するには、次のコードを使用できます。

worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"));
worksheet.DefineName("MyRange", worksheet.Range("A1:B10"))
$vbLabelText   $csharpLabel

これにより、ワークシート内の範囲 A1:B10 を参照するMyRangeという定義済みの名前が作成されます。

C#でExcelデータを読み取り、データベーステーブルに挿入する方法: 図6 - CSVList

数値書式の適用

IronXL を使用してセルまたはセル範囲に数値書式を適用するには、次のコードを使用します。

worksheet["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet["A1"].Style.NumberFormat.Format = "#,##0.00";
worksheet("A1").Style.NumberFormat.Format = "#,##0.00"
$vbLabelText   $csharpLabel

これにより、ワークシートのセル A1 に数値形式"#,##0.00"が適用されます。

計算の最適化

IronXL は、Excel ブック内の計算を最適化するのに役立つツールを提供します。 計算を最適化するには、次のコードを使用できます。

workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(false);
workbook.SetAutomaticCalculation(False)
$vbLabelText   $csharpLabel

これにより、ワークブック内の自動計算がオフになります。 次のコードを使用して、ワークブックを手動で計算できます。

workbook.Calculate();
workbook.Calculate();
workbook.Calculate()
$vbLabelText   $csharpLabel

これにより、ワークブック内のすべての数式が計算されます。

! C#でExcelデータを読み取り、データベーステーブルに挿入する方法: 図7 - すべての数式が計算される

比較

FastExcel と IronXL はどちらも、C# 言語を使用して Excel ファイルを操作するための強力なライブラリです。 どちらのライブラリも同様の機能を提供していますが、両者を区別する重要な違いがいくつかあります。

FastExcel は、特に大規模なデータセットを扱う際の Excel 計算のパフォーマンスを向上させることに重点を置いたライブラリです。 自動および手動計算、配列計算のボトルネックの最適化、オープン計算方法などの機能を提供します。 FastExcel には、Excel ブックの管理と最適化に役立つ FastExcel Profiler や FastExcel SpeedTools などのツールも用意されています。

一方、IronXL は使いやすさと柔軟性を重視したライブラリです。 開発者が C# コードで Excel ファイルを操作するのに役立つ幅広いツールを提供します。 これらのツールには、定義された名前を管理したり、無制限の数のワークシートを操作したり、数値形式を簡単に管理したりする機能が含まれます。 IronXL はマルチスレッド Excel 計算もサポートしているため、大規模なデータセットの処理に最適です。

FastExcel と IronXL はどちらも C# で Excel ファイルを操作するための強力なライブラリですが、IronXL には多くの開発者が好んで選択するいくつかの利点があります。 まず、IronXL にはより直感的な API があり、操作や学習が容易になります。 2 番目に、IronXL は FastExcel よりも手頃な価格であるため、小規模なプロジェクトや予算が限られているチームに適しています。

さらに、IronXL は FastExcel に比べて軽量なライブラリです。 FastExcel のような余分な肥大化がなく、パフォーマンスが低下したり、大規模な Excel ブックの管理が困難になったりすることはありません。

FastExcel と IronXL はどちらも C# で Excel ファイルを操作できる優れたライブラリですが、使いやすさ、手頃な価格、軽量性から IronXL が最適な選択肢です。

結論

結論として、FastExcel と IronXL を比較すると、両方のライブラリが C# コードを使用して Excel ファイルを操作するための強力なツールと機能を幅広く提供していることは明らかです。 ただし、2 つのライブラリにはいくつかの重要な違いがあり、多くの開発者が IronXL を好む理由となっています。

技術的な観点から見ると、IronXL はより直感的でユーザーフレンドリーな API を提供し、あらゆるスキルレベルの開発者が簡単に学習して使用できるようになります。 IronXL は、パフォーマンスを低下させたり、大規模な Excel ブックの管理を困難にしたりする余分な肥大化のない軽量ライブラリも提供します。 対照的に、FastExcel は Excel の計算パフォーマンスの向上に重点を置いていますが、IronXL と比較すると複雑で扱いが難しい場合があります。

さらに、IronXL は FastExcel に比べてより手頃なライセンス モデルを提供しているため、小規模なプロジェクトや予算が限られているチームに適しています。 IronXL の完全ライセンス版では、開発者は追加料金や制限なしにすべての機能とツールにアクセスできます。

全体的に、IronXL は、使いやすさ、手頃な価格、軽量なパフォーマンスを重視する開発者にとって好ましい選択肢です。 マルチスレッド Excel 計算や無制限の数のワークシートのサポートなどの強力なツールと機能を備えた IronXL は、C# コードで Excel ファイルを操作する開発者にとって非常に貴重なツールです。

IronXL の購入にご興味がある方のために、Iron Software では、Iron Software 製品 5 つすべてを 2 つ分の価格で購入できる特別プランを提供しています。 これには、IronXL のほか、PDF ファイルや OCR などを操作するための強力なライブラリも含まれます。 この契約は、プロジェクトをサポートするためのさまざまなツールを必要とする開発者にとって非常に価値のあるものとなります。

ソフトウェア製品をダウンロードします

ご注意FastExcel v4 は、それぞれの所有者の登録商標です。 このサイトはFastExcel v4と提携、承認、または後援関係にありません。すべての製品名、ロゴ、ブランドはそれぞれの所有者の財産です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

IronXLの主な機能は何ですか?

IronXLは、マルチスレッド計算、XLS、XLSX、CSV、TSVなどのさまざまなExcelファイル形式のサポート、ワークシート、数式、数値形式の管理ツールを提供し、外部依存関係を必要としません。

C#ライブラリを使用してExcelの計算を最適化するにはどうすればいいですか?

IronXLを使用することで、複雑または大規模なデータセットを扱う際にパフォーマンスと効率を向上させるマルチスレッド計算機能を利用して、Excelの計算を最適化できます。

このライブラリでExcelの数式を管理できますか?

はい、IronXLはExcelの数式を管理することができ、各編集で再計算されます。 トラブルシューティングや計算の最適化に役立つFormula Explorerなどのツールを含んでいます。

IronXLはさまざまなExcelファイル形式をどのようにサポートしていますか?

IronXLは、XLS、XLSX、CSV、TSVなど複数の形式からデータを読み込み、読み取り、編集することができます。また、JSONなどの形式にデータをエクスポートすることも可能で、さまざまなデータ形式を柔軟に扱うことができます。

IronXLは予算に制約のある開発者に適していますか?

はい、IronXLはその手頃な価格で知られており、予算に制約のある開発者に適した選択肢です。 過剰な膨れを排除して包括的な機能セットを提供し、コストパフォーマンスを保証します。

IronXLは外部ソフトウェアのインストールを必要としますか?

いいえ、IronXLは外部依存関係や追加のソフトウェアインストールを必要とせず、開発者にとって便利なオプションとなっています。

IronXLはExcel操作にユーザーフレンドリーなライブラリである理由は何ですか?

IronXLは直感的な構文と軽量性で高く評価されており、すべてのスキルレベルの開発者にとってアクセスしやすいです。 C#でのExcelファイル操作のためのシンプルなソリューションを提供します。

IronXLを購入する際に特別なオファーはありますか?

はい、Iron Softwareは特別な割引を提供しており、IronXLを含む5つの製品すべてを2つの価格で購入でき、複数のツールを必要とする開発者に優れた価値を提供します。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。