IronXLとMicrosoft Office Interop Excelの比較
MS Officeツール(Word、Excel、PowerPointなど)は非常に人気があり、すべての種類のビジネスで広く使用されています。 Excelファイル形式でのレポートファイルの作成は、多くのユーザーがソフトウェアアプリケーションに必要とする機能であり、現在は利用可能な異なるライブラリを使用して、この機能をソフトウェアアプリケーションに含める確定的な方法があります。
この記事では、C# を使用してプログラムで Microsoft Excel ファイルを扱う方法について、最も人気のある2つのライブラリ、IronXL と Microsoft Office Excel Interop を比較して説明します。
IronXL と Microsoft Excel Interop の両方が .NET Frameworkで Excel ドキュメントを作成、編集、読み取りするためのメソッドを提供します。 次の質問は、どのC# Excelライブラリがプロジェクトに最適かを決定することです。 この記事は、あなたのアプリケーションに最適なオプションを決定するのに役立ちます。
まずは、両方のライブラリが提供する内容を見てから、実際の比較に進みます。
IronXLライブラリ
IronXL は、C# で Microsoft Excel ドキュメントの読み取りと編集を支援する .NET ライブラリです。 IronXL.Excelは、さまざまなスプレッドシート形式を読み取るためのスタンドアローン for .NETソフトウェアライブラリです。 Microsoft Excelがインストールされている必要はなく、Interopにも依存しません。
IronXLは直感的なC# APIであり、Excelスプレッドシートファイルを.NETで超高速で読み取り、編集、作成できます。 IronXLは、.NET Core、.NET Framework、Xamarin、モバイル、Linux、macOS、およびAzureを完全にサポートしています。
IronXLは、C#向けのリーディング.NET Coreおよび.NETフレームワークのExcelスプレッドシートライブラリです。
ドキュメント&サポート
- オンラインAPIリファレンス文書
- IronSoftware.comでの役立つスタートスニペットとチュートリアル
- NuGetパッケージ
- さらに多くの例があるGitHubリポジトリ
- Team Iron によるサポート
IronXLの機能セット
- データ読み込み、読み取り、編集 - XLS/XLSX/CSV/TSVから
- 保存とエクスポート - XLS/XLSX/CSV/TSV/JSONへ
- System.Data オブジェクト - Excel スプレッドシートを System.Data.DataSet および System.Data.DataTable オブジェクトとして扱います。
- 数式 - Excelの数式を操作。 シートが編集されるたびに数式が再計算されます。
- 範囲 - 使いやすい WorkSheet ["A1:B10"] 構文。 直感的に範囲を結合・作成します。
- ソート - 範囲、列、行をソート。
- スタイリング - セルのビジュアルスタイル、フォント、サイズ、背景パターン、境界、配置、および数値フォーマット。
Microsoft Office Excel Interop オブジェクト
Microsoft.Office.Interop.Excel 名前空間は、C# および Visual Basic で Microsoft Excel アプリケーションと対話するためのメソッドを提供します。 この名前空間を使用すると、新しいExcelブック、Excelワークシートを作成し、既存のシートにデータを表示し、既存のExcelシート内容を変更するなど、さまざまなことができます。
Microsoft.Office.Interop.Excel のクラスとインターフェースは、Microsoft Excel ファイルの COM オブジェクトモデルと xls または xlsx ファイルを自動化するマネージドアプリケーションとの相互運用性をサポートします。
C# プログラミング言語には、Microsoft Office Interop API オブジェクトの操作を簡単にする機能が含まれています。 新しい機能には、名前付きおよびオプションの引数、新しい型である dynamic、COM メソッドへの参照パラメータに引数を値パラメータとして渡せる能力が含まれます。 これにより、COM および Interop オブジェクトでの作業に最適な選択肢になります。
注意: Microsoft Excel Interop オブジェクトにはコンピュータに Microsoft Excel がインストールされている必要があります
この記事の残りの部分は以下の通りです:
- コンソールアプリケーションの作成
- IronXL C#ライブラリのインストール
- Microsoft Office Interop Excel インストール
- 新しい Excel ワークブックとシートを作成
- 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 を検索 -> インストール

- これで完了です。

3.2. NuGetパッケージマネージャコンソールを使用して
Microsoft.Office.Interop.Excel C# ライブラリをダウンロードおよびインストールする別の方法は、開発者コマンドプロンプトを使用して NuGet パッケージをインストールする次のステップを実行することです。
-
開発者コマンドプロンプト を開きます - 通常 Visual Studio フォルダ内にあります。
-
次のコマンドを入力します:
PM> Install-Package Microsoft.Office.Interop.ExcelSHELL -
Enter キーを押します。
-
これにより、パッケージがダウンロードされインストールされます。
-
Visual Studio プロジェクトを再読み込みし、使用を開始します。
3.3. 必要な using ディレクティブを追加
-
ソリューションエクスプローラーで Program.cs ファイルを右クリックして、[コードの表示] をクリックします。
-
コードファイルの先頭に次の using ディレクティブを追加します:
using Excel = Microsoft.Office.Interop.Excel;Imports Excel = Microsoft.Office.Interop.ExcelImports Excel = Microsoft.Office.Interop.Excel
4. 新しい Excel ワークブックとシートを作成
ワークブックとは、行と列を含む複数のワークシートを含むExcelファイルです。 両方のライブラリは、新しいExcelワークブックとシートを作成する機能を提供します。 コードをステップバイステップで見てみましょう。
4.1. IronXLを使用して新しいExcelワークブックとシートを作成
IronXLを使用して新しいExcelワークブックを作成するのは非常に簡単です! わずか1行のコード! はい、本当に。 Program.csファイルのstatic void Main 関数に次のコードを追加します。
// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);' Create a new workbook in XLSX format
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)' Create a new workbook in XLSX format
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)IronXLで、XLS(古いExcelファイルバージョン)とXLSX(現在と新しいファイルバージョン)の両方のファイル形式を作成することができます。
そして、デフォルトのワークシートを作成するのはさらに簡単です:
// Create a new worksheet
var worksheet = workbook.CreateWorkSheet("IronXL Features");// Create a new worksheet
var worksheet = workbook.CreateWorkSheet("IronXL Features");' Create a new worksheet
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")' Create a new worksheet
Dim worksheet = workbook.CreateWorkSheet("IronXL Features")今やワークシート変数を使ってセルの値を設定し、Excelファイルができるほぼすべてのことを行うことができます。
4.2. Microsoft.Office.Interop.Excelを使用して新しいExcelワークブックとシートを作成
Microsoft.Office.Interopを使用してExcelファイルを作成するには、Microsoft Excel がインストールされている必要があります。 したがって、ホストマシンに Microsoft Excel がインストールされているかどうかを確認する必要があります。インストールされていない場合は、処理する必要がある例外が単に返されます。 次のサンプルコードは、Excelアプリケーションのインストールを確認し、Excelワークブックとシートを作成する方法を示しています:
Microsoft Excel インストールの確認:
// Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();
// Check if Excel is installed
if (xlApp == null)
{
Console.WriteLine("Excel is not installed in the system...");
return;
}// Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();
// Check if Excel is installed
if (xlApp == null)
{
Console.WriteLine("Excel is not installed in the system...");
return;
}' Start Excel and get Application object.
Dim xlApp As New Excel.Application()
' Check if Excel is installed
If xlApp Is Nothing Then
Console.WriteLine("Excel is not installed in the system...")
Return
End If' Start Excel and get Application object.
Dim xlApp As New Excel.Application()
' Check if Excel is installed
If xlApp Is Nothing Then
Console.WriteLine("Excel is not installed in the system...")
Return
End Ifワークブックとワークシートの作成:
// Create Workbook and Worksheet
object misValue = System.Reflection.Missing.Value;
Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);// Create Workbook and Worksheet
object misValue = System.Reflection.Missing.Value;
Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);' Create Workbook and Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add(misValue)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)' Create Workbook and Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Add(misValue)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)ここまで両方のコードを見て、優位性はOffice Interop ExcelよりもIronXLにあります。 IronXLは、Excelファイルを扱うために手間も追加の依存関係もなく、わずか一行のコードを使用します。
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
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");' Load WorkBook
Dim 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
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");' Open Sheet for reading
Dim 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.
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 cell' 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. Microsoft.Office.Interop.Excelを使用してExcelファイルを読み取る
これもまた、ワークブックとシートを開くために一行のコードを使用します。 コードは次の通りです:
Excel.Application xlApp = new Excel.Application();
// Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
// Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);Excel.Application xlApp = new Excel.Application();
// Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
// Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);Dim xlApp As New Excel.Application()
' Load WorkBook
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
' Open Sheet for reading
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)Dim xlApp As New Excel.Application()
' Load WorkBook
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
' Open Sheet for reading
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)セル値を読み取るためのコード:
// Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;
// Reading first 10 rows with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)
{
string firstValue = Convert.ToString((xlRange.Cells[rowCount, 1] as Excel.Range).Text);
string secondValue = Convert.ToString((xlRange.Cells[rowCount, 2] as Excel.Range).Text);
Console.WriteLine(firstValue + "\t" + secondValue);
}// Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;
// Reading first 10 rows with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)
{
string firstValue = Convert.ToString((xlRange.Cells[rowCount, 1] as Excel.Range).Text);
string secondValue = Convert.ToString((xlRange.Cells[rowCount, 2] as Excel.Range).Text);
Console.WriteLine(firstValue + "\t" + secondValue);
}' Get the entire range of cells
Dim xlRange As Excel.Range = xlWorkSheet.UsedRange
' Reading first 10 rows with two columns
For rowCount As Integer = 1 To 10
Dim firstValue As String = Convert.ToString(CType(xlRange.Cells(rowCount, 1), Excel.Range).Text)
Dim secondValue As String = Convert.ToString(CType(xlRange.Cells(rowCount, 2), Excel.Range).Text)
Console.WriteLine(firstValue & vbTab & secondValue)
Next' Get the entire range of cells
Dim xlRange As Excel.Range = xlWorkSheet.UsedRange
' Reading first 10 rows with two columns
For rowCount As Integer = 1 To 10
Dim firstValue As String = Convert.ToString(CType(xlRange.Cells(rowCount, 1), Excel.Range).Text)
Dim secondValue As String = Convert.ToString(CType(xlRange.Cells(rowCount, 2), Excel.Range).Text)
Console.WriteLine(firstValue & vbTab & secondValue)
Nextただし、Excelのインストールを確認し、そのインスタンスを作成することが重要な部分です。
6. Excel ファイルの範囲の値を操作する
6.1. IronXLを使用して範囲の値を操作する
IronXLでは、一行のコードで特定のセルの値の範囲を取得することができます。 次に、ループを使用して、各セルの値を読み取ったり編集したりできます。 コードは次の通りです:
// Load the workbook and get the first worksheet
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();
// This is how we get range from Excel worksheet
var range = sheet["A2:A8"];
// This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
Console.WriteLine(cell.Value);
}// Load the workbook and get the first worksheet
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();
// This is how we get range from Excel worksheet
var range = sheet["A2:A8"];
// This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
Console.WriteLine(cell.Value);
}' Load the workbook and get the first worksheet
Dim workbook As WorkBook = WorkBook.Load("test.xls")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' This is how we get range from Excel worksheet
Dim range = sheet("A2:A8")
' This is how we can iterate over our range and read or edit any cell
For Each cell In range
Console.WriteLine(cell.Value)
Next' Load the workbook and get the first worksheet
Dim workbook As WorkBook = WorkBook.Load("test.xls")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' This is how we get range from Excel worksheet
Dim range = sheet("A2:A8")
' This is how we can iterate over our range and read or edit any cell
For Each cell In range
Console.WriteLine(cell.Value)
Next6.2. Microsoft.Office.Interop.Excelを使用して範囲の値を操作する
これもまた、セル値の範囲を取得するために一行のコードを使用します。 その後、必要な値でセルを更新できます。 コードは次の通りです:
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
// Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
// Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";Dim xlApp As New Excel.Application()
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
' Get range of values and updating their format
Dim range = xlWorkSheet.get_Range("A1", "D1")
range.NumberFormat = "$0.00"Dim xlApp As New Excel.Application()
Dim xlWorkBook As Excel.Workbook = xlApp.Workbooks.Open(filePath)
Dim xlWorkSheet As Excel.Worksheet = CType(xlWorkBook.Worksheets.Item(1), Excel.Worksheet)
' Get range of values and updating their format
Dim range = xlWorkSheet.get_Range("A1", "D1")
range.NumberFormat = "$0.00"7. Excel の数式を操作する
Excelの数式は、Excelファイルを扱う上で最も重要な部分です。 両方のライブラリは、簡単に数式を扱い、セルに適用するための機能を提供します。
7.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();' 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 Formulas
// 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 Formulas
// 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 Formulas
' 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()' Get Formulas
' 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()7.2. Microsoft.Office.Interop.Excelを使用したExcel数式の操作
同様に、ワークブックとワークシートを読み込んだ後、次のコードを使用してExcelの数式を操作できます。 コードサンプルは次の通りです:
// Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");
// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";// Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");
// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";' Get range of values and updating their format
Dim range1 = xlWorkSheet.get_Range("A1", "D1")
Dim range2 = xlWorkSheet.get_Range("C2", "C6")
' Set Formula
range1.Formula = "=RAND()*100000"
range2.Formula = "=A2 & "" "" & B2"' Get range of values and updating their format
Dim range1 = xlWorkSheet.get_Range("A1", "D1")
Dim range2 = xlWorkSheet.get_Range("C2", "C6")
' Set Formula
range1.Formula = "=RAND()*100000"
range2.Formula = "=A2 & "" "" & B2"8. ライセンス
IronXLは商業的にオープンなC# Excelライブラリです。 開発には無料で使用でき、商用デプロイメントのためにいつでもライセンスを取得できます。 ライセンスは、単一プロジェクトの使用、単一開発者、エージェンシー、グローバル企業、SaaSおよびOEM再配布用に利用可能です。 すべてのライセンスには30日間の返金保証、1年間の製品サポートとアップデート、デブ/スタージング/プロダクションのための有効性、および永久ライセンス(1回の購入)が含まれています。 Liteパッケージは$999で開始します。
Microsoft Office Interop Excelでは、このDLLファイルを使用するアプリケーションには、単一使用または商業使用の別ライセンスは必要ありません。 Office アプリケーションを使用して解決策を動作させるためには、Microsoft Office アプリケーションがインストールされており、ライセンスが適用されている必要があります。 DLLは、Officeアプリケーションがインストールされているマシンには常に存在し、そこに登録されます。 同時に、"interop"を使用する .NET ソリューションに必要なプライマリ相互運用アセンブリ(PIA)もGACにインストールされます。
9. まとめと結論
まとめ
Iron Software の IronXL ソフトウェアライブラリを使用すると、C# およびその他のすべての .NET 言語で Excel(XLS、XLSX、および CSV)ファイルを読むことや作成することが簡単です。 IronXL は、サーバーまたは Interop に Excel がインストールされている必要はありません。IronXL は、Microsoft.Office.Interop.Excel よりも迅速で直感的なAPIを提供します。 IronXL は .NET Core 2、フレームワーク 4.5、Azure、Mono、およびモバイルや Xamarin で動作します。
Microsoft Office Interop(Excel Automation)は、C# または VB.NET アプリケーションから Excel ファイル(XLS、XLSX、CSV)を作成/読み取る際のオプションです。 クライアントマシン全てに同じバージョンの Microsoft Excel がインストールされている必要があり、Windows オペレーティングシステムでのみ動作します。
結論
ここで、IronXL は Microsoft.Office.Interop.Excel に対して明確な優位性を持っています。これは、ローカルまたはサーバーマシンに Microsoft Office Excel アプリケーションをインストールする必要がないためです。 さらに、Excel Automation を使用する場合、Microsoft Excel は多くのMBを使用し、比較して多くのファイルやDLLを読み込むため、バックグラウンドで読み込まれます。 IronXL は、Microsoft.Office.Interop.Excel よりも迅速で直感的なAPIを持っています。
Microsoft Office アプリケーション(Excel を含む)は、UI アプリケーションとして設計されているため、API は非常に遅いです。 Microsoft は、サーバーで Excel Automation(または任意の Office Interop)を使用することを推奨していません。 この場合、その多くの堅牢な機能を考慮して、IronXL はソフトウェアアプリケーションへの統合に最も適した選択肢です。
Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
