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

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 フレームワークで Excel ドキュメントを作成、編集、読み取りするためのメソッドを提供します。 The next question is to decide which C# Excel library is best suited to your project. この記事は、あなたのアプリケーションに最適なオプションを決定するのに役立ちます。

まずは、両方のライブラリが提供する内容を見てから、実際の比較に進みます。

IronXLライブラリ

IronXL は、C# で Microsoft Excel ドキュメントの読み取りと編集を支援する .NET ライブラリです。 IronXL.Excelは、さまざまなスプレッドシート形式を読み取るためのスタンドアローンの.NETソフトウェアライブラリです。 Microsoft Excelがインストールされている必要はなく、Interopにも依存しません。

IronXLは直感的なC# APIであり、Excelスプレッドシートファイルを.NETで超高速で読み取り、編集、作成できます。 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"] 構文。 直感的に範囲を結合・作成します。
  • ソート — 範囲、列、行をソート。
  • スタイリング — セルのビジュアルスタイル、フォント、サイズ、背景パターン、境界、配置、および数値フォーマット。

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 がインストールされている必要があります

この記事の残りの部分は以下の通りです:

  1. コンソールアプリケーションの作成
  2. IronXL C#ライブラリのインストール
  3. Microsoft Office Interop Excel インストール
  4. 新しい Excel ワークブックとシートを作成
  5. Excel ファイルを読み取る
  6. Excel ファイル内の値の範囲を操作する
  7. Excel の数式を操作する
  8. ライセンス
  9. まとめと結論

1. コンソールアプリケーションの作成

コンソールアプリケーションを作成する手順は以下の通りです:

  • Visual Studio 2022 IDEを開始。
  • "新しいプロジェクトを作成"をクリック。
  • "新しいプロジェクトを作成"ページで、言語ドロップダウンリストからC#を選択し、プラットフォームリストからWindows選択し、"プロジェクトタイプ"リストからコンソールを選択します。
  • 表示されたプロジェクトテンプレートからConsole App (.NET Framework)を選択します。
class="content-img-align-center"> プロジェクト作成 - コンソールアプリケーション
  • 次へをクリック。
  • 追加情報画面で、使用するフレームワークバージョンを指定します。 この例では.NET Framework 4.8を使用します。
class="content-img-align-center"> プロジェクト作成 - .NET Framework
  • 作成をクリックしてプロセスを完了させます。

これでプロジェクトが作成され、我々はほとんど準備が整いました。 ただし、ライブラリをプロジェクトにインストールして統合する必要があります。 まずIronXLをインストールしましょう。

2. IronXL C#ライブラリのインストール

IronXLライブラリをダウンロードしてインストールする方法としては以下のものがあります:

  1. NuGetパッケージを使用したVisual Studio経由で。
  2. NuGetパッケージを直接ダウンロード。
  3. DLLで手動インストール。

それぞれを詳しく見ていきましょう。

2.1. NuGetパッケージを使用したVisual Studio経由で

Visual Studioは、NuGetパッケージをプロジェクトにインストールするNuGetパッケージマネージャーを提供しています。 これにアクセスするには、プロジェクトメニューを通じて、またはソリューションエクスプローラでプロジェクトを右クリックして行います。

class="content-img-align-center"> NuGet パッケージの管理を選択
  • 今すぐ、[閲覧] タブから -> IronXL.Excel を検索 -> インストール
class="content-img-align-center"> IronXL を検索
  • これで完了です。
class="content-img-align-center"> Microsoft Excel Interop を検索

3.2. NuGetパッケージマネージャコンソールを使用して

Microsoft.Office.Interop.Excel C# ライブラリをダウンロードおよびインストールする別の方法は、開発者コマンドプロンプトを使用して NuGet パッケージをインストールする次のステップを実行することです。

  1. 開発者コマンドプロンプト を開きます — 通常 Visual Studio フォルダ内にあります。
  2. 次のコマンドを入力します:

    PM> Install-Package Microsoft.Office.Interop.Excel
    PM> Install-Package Microsoft.Office.Interop.Excel
    SHELL
  3. Enter キーを押します。
  4. これにより、パッケージがダウンロードされインストールされます。
  5. Visual Studio プロジェクトを再読み込みし、使用を開始します。

3.3. 必要な using ディレクティブを追加

  1. ソリューションエクスプローラーで Program.cs ファイルを右クリックして、[コードの表示] をクリックします。
  2. コードファイルの先頭に次の using ディレクティブを追加します:

    using Excel = Microsoft.Office.Interop.Excel;
    using Excel = Microsoft.Office.Interop.Excel;
    Imports Excel = Microsoft.Office.Interop.Excel
    $vbLabelText   $csharpLabel

4. 新しい Excel ワークブックとシートを作成

ワークブックとは、行と列を含む複数のワークシートを含むExcelファイルです。 両方のライブラリは、新しいExcelワークブックとシートを作成する機能を提供します。 コードをステップバイステップで見てみましょう。

4.1. IronXLを使用して新しいExcelワークブックとシートを作成

IronXLを使用して新しいExcelワークブックを作成するのは非常に簡単です! わずか1行のコード! はい、本当に。 Program.cs ファイルの静的 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)
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

今やワークシート変数を使ってセルの値を設定し、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
$vbLabelText   $csharpLabel

ワークブックとワークシートの作成:

// 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)
$vbLabelText   $csharpLabel

ここまで両方のコードを見て、優位性は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")
$vbLabelText   $csharpLabel

各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")
$vbLabelText   $csharpLabel

セル値を読み取るためのコード:

// 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
$vbLabelText   $csharpLabel

5.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)
$vbLabelText   $csharpLabel

セル値を読み取るためのコード:

// 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);  
}
Imports Microsoft.VisualBasic

' 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((TryCast(xlRange.Cells(rowCount, 1), Excel.Range)).Text)
	Dim secondValue As String = Convert.ToString((TryCast(xlRange.Cells(rowCount, 2), Excel.Range)).Text)

	Console.WriteLine(firstValue & vbTab & secondValue)
Next rowCount
$vbLabelText   $csharpLabel

ただし、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 cell
$vbLabelText   $csharpLabel

6.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"
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

また、数式とその値を取得することもできます。

// 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()
$vbLabelText   $csharpLabel

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"
$vbLabelText   $csharpLabel

8. ライセンス

IronXLは商業的にオープンなC# Excelライブラリです。 開発には無料で使用でき、商用デプロイメントのためにいつでもライセンスを取得できます。 Licenses are available for single-project use, single developers, agencies, and global corporations, as well as SaaS and OEM redistribution. すべてのライセンスには30日間の返金保証、1年間の製品サポートとアップデート、デブ/スタージング/プロダクションのための有効性、および永久ライセンス(1回の購入)が含まれています。 Liteパッケージは$799から始まります。

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 はソフトウェアアプリケーションへの統合に最も適した選択肢です。

ご注意Microsoft Office は、その関連所有者の登録商標です。 このサイトは、Microsoft Office と関係がなく、承認または支援されていません。すべての製品名、ロゴ、およびブランドは、それぞれの所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。

よくある質問

Microsoft Excelがインストールされていない環境でC#でExcelファイルを作成および編集する方法は?

IronXLを使用すれば、マシンにMicrosoft ExcelをインストールせずにC#でExcelファイルを作成および編集できます。IronXLはさまざまなExcelファイル形式に対応し、複数のプラットフォームと互換性のあるスタンドアロンのライブラリを提供します。

Excel操作においてIronXLをMicrosoft Office Interopよりも使用するメリットは何ですか?

IronXLは、Excelをインストールする必要がなく、.NET CoreやAzureを含む複数のプラットフォームをサポートし、より高速で直感的なAPIを提供するなど、Microsoft Office Interopよりもいくつかの利点を提供します。

IronXLを使用して異なるExcelファイル形式を読み書きできますか?

はい、IronXLはXLS、XLSX、CSV、TSVなどのさまざまなExcelファイル形式の読み書きをサポートしており、さまざまなアプリケーションニーズに柔軟に対応します。

IronXLは.NET Coreや他の環境と互換性がありますか?

IronXLは.NET Core、.NET Framework、Xamarin、Mobile、Linux、macOS、Azureと完全に互換性があり、さまざまな開発環境に柔軟性を提供します。

IronXLはExcelの数式をどのように処理しますか?

IronXLはユーザーがExcelの数式を簡単に設定および取得することを可能にします。シートが変更されたときに数式を自動的に再計算し、更新された数式とその計算値の保存をサポートします。

プロジェクトでIronXLを使用する際に利用可能なサポートは何ですか?

IronXLはオンラインAPIドキュメント、入門用のコードスニペット、チュートリアル、GitHub上の例、Team Ironからのプロフェッショナルサポートを含む広範なサポートを提供します。

サーバー上でMicrosoft Office Interopを使用してExcelを操作する際の制限は何ですか?

Microsoftは、パフォーマンスの問題やMicrosoft Excelをインストールする必要があるため、メンテナンスの課題が生じる可能性があるため、サーバー上でExcelオートメーションやOffice Interopの使用を推奨していません。

IronXLは、従来のExcelインターロップライブラリと比較してパフォーマンスをどのように改善しますか?

IronXLは、UIアプリケーションとして設計され、遅くリソースを多く消費する傾向があるMicrosoft Office Interop Excelよりも迅速で効率的なAPIを提供します。

IronXLはソフトウェアアプリケーションでの商業利用に適していますか?

はい、IronXLは商業用途でライセンスされており、シングルプロジェクト、開発者、およびグローバルライセンスを含むさまざまなライセンシングオプションがあり、すべて30日間の返金保証が含まれています。

Curtis Chau
テクニカルライター

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

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