
IronXLとAspose Cellsの比較
Excelファイルを操作してレポートを生成し、データベースを構築する能力は、今日のソフトウェアアプリケーションにとって必要不可欠です。 現在では、Microsoft Excelを使用せずにこれを行うことができるライブラリが多数あります。
この記事では、C# .NET テクノロジーを使用して、Microsoft Excel ドキュメントをプログラムで操作する方法を、最も人気のある2つのライブラリ、IronXLとAspose.Cellsを比較して説明します。
IronXLとAspose.Cellsは、どちらも.NET FrameworkでExcelドキュメントを作成、編集、および読み取るためのメソッドを提供します。 次の質問は、どのC# Excelライブラリがプロジェクトに最適かを決定することです。 この記事は、あなたのアプリケーションに最適なオプションを決定するのに役立ちます。
まず、両方のライブラリが提供するものを見てから、実際の比較に進みましょう。
IronXLライブラリ
IronXLは、C#を使用してMicrosoft Excelドキュメントを読み取り、編集するため for .NETライブラリです。 IronXL.Excelは、さまざまなスプレッドシート形式を読み取るためのスタンドアローン for .NETソフトウェアライブラリです。 Microsoft Excelがインストールされている必要はなく、Interopにも依存しません。
IronXLは、非常に直感的なC# APIであり、.NETでExcelスプレッドシートファイルを読み取り、編集し、作成することができます。 IronXLは、.NET Core、.NET Framework、Xamarin、モバイル、Linux、macOS、およびAzureを完全にサポートしています。
IronXLは、C#向けのリーディング.NET Coreおよび.NETフレームワークのExcelスプレッドシートライブラリです。
IronXLの機能セット
- データの読み込み、読み取り、編集 - XLS/XLSX/CSV/TSVから。
- 保存とエクスポート - XLS/XLSX/CSV/TSV/JSONへ。
- System.Dataオブジェクト - ExcelスプレッドシートをSystem.Data.DataSetおよびSystem.Data.DataTableオブジェクトとして操作。
- 数式 - Excelの数式を操作。 シートが編集されるたびに数式が再計算されます。
- 範囲 - 使いやすいWorkSheet["A1:B10"]構文。 直感的に範囲を結合・作成します。
- 並べ替え - 範囲、列、行を並べ替え。
- スタイリング - セルのビジュアルスタイル、フォント、サイズ、背景パターン、境界線、整列、数字の形式。
Aspose.Cells
Aspose.Cells for .NETは、スプレッドシートの管理と処理タスクを高速化するためのExcelスプレッドシートプログラミングAPIです。 このAPIは、スプレッドシートを生成、変更、変換、レンダリング、および印刷するクロスプラットフォームアプリケーションの構築をサポートします。 また、Microsoft ExcelやMicrosoft Office Interopコンポーネントのインストールに依存せず、すべてのExcel形式およびCSV、SpreadsheetML形式を扱う強力なAPIセットを提供します。
APIを統合することで、開発者は複数のワークシートを管理したり、内容やスタイルをゼロから作成したり、異なるデータソースからデータをインポートしたり、一般的および複雑な数学・金融・テキスト数式を追加したり、チャート、画像、コメント、図形オブジェクトを操作するなどの基本的なタスクを実行できます。
Aspose.Cells Excel スプレッドシート API の機能
Aspose.Cellsの際立った特徴を以下に示します:
レンダリング
- チャートを画像に。
- ワークシートを画像に。
- 印刷。
データ処理
- フォーマットの適用。
- 数式の適用。
- 要約。
- スマートマーカー。
グリッドスイート
- WinForms用のデスクトップコントロール。
- ASP.NET用のWebコントロール。
- フォーマットの適用。
- 数式の適用。
- データのインポート/エクスポート。
この記事の残りの部分は次の通りです:
- コンソールアプリケーションを作成。
- IronXL C#ライブラリのインストール。
- Aspose.Cellsのインストール。
- 新しいExcelワークブックとシートを作成し保存。
- Excelファイルを読み取る。
- Excel数式を扱う。
- ファイルの相互変換。
- ライセンス。
- 結論。
1. コンソールアプリケーションを作成
コンソールアプリケーションを作成する手順は以下の通りです:
- Visual Studio 2022 IDEを開始。
- **"新しいプロジェクトを作成"**をクリック。
- "新しいプロジェクトを作成"ページで、言語ドロップダウンリストからC#を選択し、プラットフォームリストからWindows選択し、"プロジェクトタイプ"リストからコンソールを選択します。
- 表示されたプロジェクトテンプレートから**Console App (.NET Framework)**を選択します。

- 次へをクリック。
- 追加情報画面で、使用するフレームワークバージョンを指定します。 この例では**.NET Framework 4.8**を使用します。

- 作成をクリックしてプロセスを完了させます。
これでプロジェクトが作成され、我々はほとんど準備が整いました。 ただし、ライブラリをプロジェクトにインストールして統合する必要があります。 まずIronXLをインストールしましょう。
2. IronXL C# ライブラリのインストール
IronXLライブラリをダウンロードしてインストールする方法としては以下のものがあります:
- NuGetパッケージを使用したVisual Studio経由で。
- NuGetパッケージを直接ダウンロード。
- DLLで手動インストール。
それぞれを詳しく見ていきましょう。
2.1. NuGetパッケージを使用したVisual Studio経由で
Visual Studioは、NuGetパッケージをプロジェクトにインストールするNuGetパッケージマネージャーを提供しています。 これにアクセスするには、プロジェクトメニューを通じて、またはソリューションエクスプローラでプロジェクトを右クリックして行います。

- 次に、ブラウズタブからIronXL.Excelを検索し、インストールします。

- これで完了です。
2.2. NuGetパッケージを直接ダウンロード
これはNuGetサイトに直接アクセスしてパッケージをダウンロードすることによって行うことが可能です。 手順は次の通りです:
- https://www.nuget.org/packages/IronXL.Excelに移動します。
- "パッケージをダウンロード"を選択します。
- ダウンロードしたパッケージをダブルクリックします。
- パッケージがインストールされます。
- Visual Studioプロジェクトをリロードして使用を開始します。
2.3. DLLで手動インストール
もう一つのIronXL C#ライブラリをダウンロードしてインストールする方法は、Developer Command Promptを使用してIronXL NuGetパッケージをインストールする以下の手順を実行することです。
- Developer Command Promptを開きます - 通常、Visual Studioフォルダにあります。
次のコマンドを入力します:
- Enterキーを押します。
- これでパッケージがダウンロードされインストールされます。
- Visual Studioプロジェクトをリロードして使用を開始します。
2.4. 必要なusingディレクティブを追加
- ソリューションエクスプローラーで__Program.cs__ファイルを右クリックし、コード表示をクリックします。
- コードファイルの冒頭に以下のusingディレクティブを追加します。
using IronXL;Imports IronXLこれで完了です! IronXLはダウンロードされ、インストールされ、使用準備が整いました。 ただし、その前にMicrosoft.Office.Interop.Excelをインストールする必要があります。
3. Aspose.Cells のインストール
3.1. NuGetパッケージを使用したVisual Studio経由で
プロジェクトを作成後、プロジェクトメニューを通じて、またはソリューションエクスプローラでプロジェクトを右クリックして、NuGetパッケージマネージャーにアクセスします。
- 次に、ブラウズタブからAspose.Cellsを検索し、インストールします。
3.2. NuGetパッケージマネージャコンソールを使用して
Aspose.Cells C#ライブラリをダウンロードしてインストールするもう一つの方法は、NuGetパッケージを開発者コマンドプロンプトを通じてインストールするための以下の手順を利用することです。
- Developer Command Promptを開きます - 通常、Visual Studioフォルダにあります。
次のコマンドを入力します:
- Enterキーを押します。
- これでパッケージがダウンロードされインストールされます。
- Visual Studioプロジェクトをリロードして使用を開始します。
3.3. 直接ダウンロード
Aspose.Cellsの任意のバージョンは、以下のリンクをクリックして直接ウェブサイトからダウンロードできます:https://downloads.aspose.com/cells/net
または:
NuGetウェブサイトからダウンロードします: https://www.nuget.org/packages/Aspose.Cells/
3.4. 必要なusingディレクティブを追加
- ソリューションエクスプローラーで__Program.cs__ファイルを右クリックし、コード表示をクリックします。
- コードファイルの冒頭に以下のusingディレクティブを追加します。
using Aspose.Cells;Imports Aspose.Cells4. 新しいExcelワークブックとシートを作成し保存
ワークブックとは、行と列を含む複数のワークシートを含むExcelファイルです。 どちらのライブラリも、新しいExcelワークブックとシートを作成する機能を提供します。 コードをステップバイステップで見てみましょう。
4.1. IronXLを使用した新しいExcelワークブックとシート
IronXLを使用して新しいExcelワークブックを作成するのはこれ以上簡単になりません! たった1行のコードです! はい、本当に。 次のコードをProgram.csファイルの静的void main関数に追加します:
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)IronXLで、XLS(古いExcelファイルバージョン)とXLSX(現在と新しいファイルバージョン)の両方のファイル形式を作成することができます。
そして、デフォルトのワークシートを作成するのはさらに簡単です。
var worksheet = workbook.CreateWorkSheet("IronXL Features");Dim worksheet = workbook.CreateWorkSheet("IronXL Features")今やワークシート変数を使ってセルの値を設定し、Excelファイルができるほぼすべてのことを行うことができます。
Excelファイルを保存します:
// Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx");' Save spreadsheet
workbook.SaveAs("NewExcelFile.xlsx")4.2. Aspose.Cellsを使用した新しいExcelワークブックとシート
スプレッドシートとその内容の作成を始める前に、ライセンスオブジェクトを作成して購入した場合の評価制限を避ける必要があります。 コードは次の通りです:
// Create a License object
License license = new License();
// Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir + "Aspose.Cells.lic");' Create a License object
Dim license As New License()
' Set the license of Aspose.Cells to avoid the evaluation limitations
license.SetLicense(dataDir & "Aspose.Cells.lic")次に、ワークブックとワークシートを作成するコードを見てみましょう。 コードサンプルは次の通りです:
// Instantiate a Workbook object that represents Excel file.
Workbook wb = new Workbook();
// When you create a new workbook, a default "Sheet1" is added to the workbook.
Worksheet sheet = wb.Worksheets[0];' Instantiate a Workbook object that represents Excel file.
Dim wb As New Workbook()
' When you create a new workbook, a default "Sheet1" is added to the workbook.
Dim sheet As Worksheet = wb.Worksheets(0)Excelファイルを保存します:
// Save spreadsheet
wb.Save("NewExcelFile.xlsx");' Save spreadsheet
wb.Save("NewExcelFile.xlsx")5. Excelファイルを読む
どちらのライブラリも既存のExcelドキュメントを開いて読み込むことができます。 サンプルコードを見てみましょう。
5.1. IronXLを使用したExcelファイルの読み取り
IronXL WorkBookクラスは、Excelシートを表します。 C#を使用してExcelファイルを開くには、WorkBook.Loadを使い、Excelファイル(.xlsx)のパスを指定します。 以下の1行コードは、読み取りのためにファイルを開くために使用されます:
// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");' Load WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")各WorkBookは複数のWorkSheetオブジェクトを持つことができます。 これらはExcelドキュメントのワークシートを表しています。 ワークブックにワークシートがある場合、次のようにして名前で取得します:
// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");' Open Sheet for reading
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")セル値を読み取るためのコード:
// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}' Read from Ranges of cells elegantly.
For Each cell In worksheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell5.2. Aspose.Cellsを使用したExcelファイルの読み取り
Aspose.CellsでのExcelファイルの読み取りは非常に簡単なタスクで、複数のワークシートを簡単に管理できます。 以下のコードを見てください:
// Creating a Workbook object and opening an Excel file using its file path
var workbook = new Workbook(@"Spreadsheets\\sample.xlsx");
// Adding new sheet
Worksheet sheet = workbook.Worksheets.Add("MySheet");' Creating a Workbook object and opening an Excel file using its file path
Dim workbook As New Workbook("Spreadsheets\\sample.xlsx")
' Adding new sheet
Dim sheet As Worksheet = workbook.Worksheets.Add("MySheet")セル値を読み取るためのコード:
// Get Cells
Cells cells = sheet.Cells;
foreach (Cell cell in cells)
{
Console.WriteLine(cell.Value);
}' Get Cells
Dim cells As Cells = sheet.Cells
For Each cell As Cell In cells
Console.WriteLine(cell.Value)
Next cell6. Excel数式を扱う
Excel数式はExcelファイルを扱うにあたって最も重要な機能の一つです。 どちらのライブラリも強力な数式計算エンジンを備えています。彼らは数式を扱い、簡単にセルに適用する機能を提供しています。
6.1. IronXLを使用したExcel数式の操作
ワークブックとワークシートをロードした後、次のコードサンプルを使って数式に変更を加えたり、特定のセルに適用したりすることができます。 コードは次の通りです:
// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets.
workbook.EvaluateAll();' Set Formulas
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets.
workbook.EvaluateAll()また、数式とその値を取得することもできます:
// Get the formula's calculated value. e.g. "52"
string formulaValue = worksheet["G30"].Value;
// Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet["G30"].Formula;
// Save your changes with updated formulas and calculated values.
workbook.Save();' Get the formula's calculated value. e.g. "52"
Dim formulaValue As String = worksheet("G30").Value
' Get the formula as a string. e.g. "Max(C3:C7)"
Dim formulaString As String = worksheet("G30").Formula
' Save your changes with updated formulas and calculated values.
workbook.Save()6.2. Aspose.Cellsを使用したExcel数式の操作
Aspose.Cellsを使用することで数式の操作も容易です。 読み取り中のExcelファイルに以下のコードを追加します。 コードは次の通りです:
// Setting values
Cells cells = sheet.Cells;
// Setting formula
cells["A4"].Formula = "=SUM(A1:A3)";
// Calculating the results of formulas
workbook.CalculateFormula();' Setting values
Dim cells As Cells = sheet.Cells
' Setting formula
cells("A4").Formula = "=SUM(A1:A3)"
' Calculating the results of formulas
workbook.CalculateFormula()上記のコードを追加した後、簡単により多くの数式を設定することができます。
7. ファイルの相互変換 — (Excel、XLS、XLSX、XLSB、XLSM、XPSデータ交換)
IronXLとAspose.Cellsはどちらも、Excelのxlsxファイルをさまざまな形式に変換したり、異なる形式からExcelワークブックに変換したりする機能を提供します。
7.1. IronXLを使用した変換プロセス
このプロセスは非常に簡単で簡潔です。 通常、1行のコードで完了します。
CSVからExcel形式へ:
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("CsvToExcelConversion.xlsx");Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:=ExcelFileFormat.XLSX, ListDelimiter:=",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("CsvToExcelConversion.xlsx")XLSXファイルからXLSMへ:
WorkBook workbook = WorkBook.Load("test.xlsx");
// This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm");Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
' This is how you can export workbook to .xlsm format
workbook.SaveAs("test.xlsm")オプション付きのExcelからHTMLへ:
WorkBook workbook = WorkBook.Load("test.xlsx");
var options = new HtmlExportOptions()
{
// This is how we can make row/column numbers visible in html document
OutputRowNumbers = true,
OutputColumnHeaders = true,
OutputHiddenColumns = true,
// This is how we can make hidden rows/columns visible in html document
OutputHiddenRows = true,
OutputLeadingSpacesAsNonBreaking = true
};
// This is how we can export workbook to the HTML file
workbook.ExportToHtml("workbook.html", options);Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim options As New HtmlExportOptions() With {
.OutputRowNumbers = True,
.OutputColumnHeaders = True,
.OutputHiddenColumns = True,
.OutputHiddenRows = True,
.OutputLeadingSpacesAsNonBreaking = True
}
workbook.ExportToHtml("workbook.html", options)7.2. Aspose.Cellsを使用した変換プロセス
Aspose.Cellsでも、Excelのxlsxファイルの変換は非常に簡単です。 以下のコードを見てください:
ExcelからHTMLへ:
// Load your source workbook
Workbook workbook = new Workbook("Book1.xlsx");
// Save file to html format
workbook.Save("out.html");' Load your source workbook
Dim workbook As New Workbook("Book1.xlsx")
' Save file to html format
workbook.Save("out.html")ODSテキストからExcelへ:
// Load your source ods text file
Workbook workbook = new Workbook("book1.ods");
// Save as xlsx file
workbook.Save("ods_out.xlsx");' Load your source ods text file
Dim workbook As New Workbook("book1.ods")
' Save as xlsx file
workbook.Save("ods_out.xlsx")ExcelワークシートからSVG形式へ:
// Instantiate a workbook
var workbook = new Workbook();
// Populate worksheet's first cell
workbook.Worksheets[0].Cells["A1"].Value = "DEMO TEXT ON SHEET1";
// Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg");' Instantiate a workbook
Dim workbook As New Workbook()
' Populate worksheet's first cell
workbook.Worksheets(0).Cells("A1").Value = "DEMO TEXT ON SHEET1"
' Convert Worksheets
workbook.Save("ConvertWorksheetToSVG_out.svg")8. ライセンス
IronXLは商業的にオープンなC# Excelライブラリです。 開発には無料で使用でき、商用デプロイメントのためにいつでもライセンスを取得できます。 ライセンスは、単一プロジェクトの使用、単一開発者、エージェンシー、グローバル企業、SaaSおよびOEM再配布用に利用可能です。 すべてのライセンスには30日間の返金保証、1年間の製品サポートとアップデート、デブ/スタージング/プロダクションのための有効性、および永久ライセンス(1回の購入)が含まれています。 Liteパッケージは$999から始まります。
Aspose.Cellsは商用のプロプライエタリ.NETライブラリです。 評価版は製品の全機能を提供しますが、1つのプログラムで100ファイルのオープンに制限され、評価用の透かしが入った余分なワークシートがあります。 技術サポートは無料で無制限で、ライセンスユーザーと評価ユーザーの両方に提供されます。 Aspose.Cellsを評価版制限なしでテストしたい場合は、30日間の一時ライセンスをリクエストするか、このリンクからライセンス版を購入してください。 開発者向け小規模ビジネスパッケージは$1,175から始まります。
9. 結論
比較すると、Excelを操作する際にIronXLとAspose.Cellsは肩を並べて競争します。 IronXLとAspose.Cellsのどちらも基本的なExcel操作と共に高度なExcel機能を提供します。 IronXLは開発に無料で、Aspose.Cellsは100ファイルで制限された評価期間があります。 ここでは、非商業目的での使用のためにはIronXLが上位に立ちます。 さらに、IronXLはJSON形式への変換およびそれからの変換も提供します。

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



