C#でIronXLを使用してExcelファイルを開く方法
C#でExcelファイルを開いて処理することは、ほぼすべての.NET開発者が直面する問題です。 毎週のレポートを自動化する場合でも、データインポートを読み込む場合でも、即時にスプレッドシートを生成するツールを構築する場合でも、Excelファイルの処理方法は速度、信頼性、展開の柔軟性に大きな違いをもたらします。
このチュートリアルでは、Microsoft Officeがインストールされていなくても、ブックを読み込み、編集し、書き込む軽量なExcelライブラリであるIronXLを使用してC#でExcelファイルを開く方法を見ていきます。 C#アプリケーションの中で簡単にデータをロードし、ワークシートにアクセスし、プログラムでセルを操作できる様子を確認できます。
Microsoft.Office.Interop.ExcelよりIronXLを選ぶ理由
Microsoft.Office.Interop.ExcelがExcel自動化の従来のアプローチであった一方で、IronXLは現代のアプリケーションに最適な選択肢となる重要な制限があります。 Microsoft自体がサーバー上でのOffice Interopの使用を推奨していません:
特徴 | IronXL | Microsoft.Office.Interop.Excel |
Excelのインストールが必要です | ✅ いいえ | ❌ はい |
クロスプラットフォームサポート | ✅ Windows、Linux、macOS | ❌ Windowsのみ |
サーバー展開 | ✅ 完全にサポートされています | ❌ Microsoft では推奨されていません |
メモリ管理 | ✅ 自動 | ❌ 手動の COM クリーンアップが必要 |
APIの複雑さ | ✅ シンプルで直感的 | ❌ 複雑なCOMインターフェース |
ファイル形式のサポート | ✅ XLS、XLSX、CSV、TSV、JSON | ⚠️ Excel形式のみ |
IronXLはMicrosoft Excelへの依存を排除し、サーバー環境、Dockerコンテナ、およびAzureのようなクラウドプラットフォームに最適です。 ライブラリは、COMオブジェクトや手動メモリ管理を必要とせずに、クリーンでモダンなAPIを提供します。
IronXL for .NETをインストールする方法
IronXLを始めるのは簡単です。 プロジェクトに数分で追加できます。 NuGetパッケージマネージャーを通じてインストールするだけです。
Install-Package IronXL.Excel
ExcelファイルをC#で開く方法
IronXLを使用して既存のExcelファイルを開くには、コードがほんの数行必要です。 ライブラリは、以下のコードスニペットに示すように、XLSやXLSXを含むさまざまなExcel形式を読み取ることをサポートしています。
// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
// Access the first worksheet
WorkSheet sheet = workbook.WorkSheets[0];
// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");
// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
// Access the first worksheet
WorkSheet sheet = workbook.WorkSheets[0];
// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");
// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");IRON VB CONVERTER ERROR developers@ironsoftware.com上記のコードは、Excelファイルを完全なExcelファイルを表すWorkBookオブジェクトにロードすることを示しています。WorkBook.Load()メソッドはファイル形式(XLS, XLSX, CSV, TSV)を自動的に検出し、適切に処理します。
GetWorkSheet()メソッドを使用して、インデックスまたは名前でワークシートにアクセスできます。 個別のセル値は直感的なブラケット表記を通じてアクセス可能で、コードの可読性が非常に高くなります。 より複雑なシナリオについては、Excel範囲の操作やセルデータ形式を探求してください。
出力

新しいExcelワークブックを作成する方法
IronXLのスプレッドシート作成機能を使用すると、新しいExcelファイルの作成も同様に簡単です:
// Create a new workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Author = "Sales Department";
// Create a worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");
// Add data to cells
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 45000;
// Apply formatting
sheet["B2"].FormatString = "$#,##0.00";
// Save the workbook
workbook.SaveAs("quarterly-report.xlsx");// Create a new workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Author = "Sales Department";
// Create a worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");
// Add data to cells
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 45000;
// Apply formatting
sheet["B2"].FormatString = "$#,##0.00";
// Save the workbook
workbook.SaveAs("quarterly-report.xlsx");IRON VB CONVERTER ERROR developers@ironsoftware.comこのコード例では、WorkBook.Create()メソッドが指定された形式で新しいワークブックを初期化します。 CreateWorkSheet()を使用して複数のワークシートを追加し、さまざまなデータ型でExcelの行と列の特定のセルを埋め、書式スタイルを適用します。 ライブラリはデータ型の変換とExcel固有の形式の要件を自動的に処理します。 C#でのExcel数式について詳しく知りたい場合は、高度な計算方法を学びます。
出力

Excelワークシートデータを読み取り、処理する方法
IronXLはデータの抽出と処理に優れています:
// Load workbook
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read a range of cells
var range = sheet["A1:D5"];
foreach (var cell in range)
{
Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}
// Convert to DataTable for easier processing
System.Data.DataTable dataTable = sheet.ToDataTable(true);
// Process data using LINQ
decimal total = sheet["C2:C5"].Sum();
Console.WriteLine($"Total: {total}");// Load workbook
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read a range of cells
var range = sheet["A1:D5"];
foreach (var cell in range)
{
Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}
// Convert to DataTable for easier processing
System.Data.DataTable dataTable = sheet.ToDataTable(true);
// Process data using LINQ
decimal total = sheet["C2:C5"].Sum();
Console.WriteLine($"Total: {total}");IRON VB CONVERTER ERROR developers@ironsoftware.comここでは、プロジェクト内でExcelファイルを開くために同じプロセスを使用します。 範囲選択構文(sheet["A1:D5"])は複数のセルを操作するための優れた方法を提供します。 ToDataTable()メソッドは、ワークシートデータをDataTableに変換し、データベースとの統合やデータバインディングシナリオを可能にします。 IronXLはまた、範囲で直接Sum()、Average()、およびMax()のような集計関数をサポートしています。 より大きなデータセットを処理する場合は、完全なAPIドキュメントをご覧ください。

Microsoft Officeなしでの作業
IronXLの最大の強みの1つは、Microsoft Officeに依存せずに動作できることです。この機能により、多くの展開シナリオが可能になります:
- クラウド展開: ライセンスの懸念なしにAzure、AWS、Google Cloudで実行
- Dockerコンテナ: 複雑なOfficeインストールなしにコンテナ化されたアプリケーションに含める
- Linuxサーバー: コスト効果の高いLinux環境にデプロイ
- CI/CDパイプライン: 自動ビルドプロセスでExcelレポートを生成
ライブラリはすべてのExcelファイル生成および操作を内部で処理し、一貫した結果を確保するために独自のレンダリングエンジンを使用してすべてのプラットフォームで操作します。
結論
IronXLは、C#でのExcelファイルのオープンおよび操作のためのモダンで効率的なソリューションを提供します。 Excel依存を排除し、クリーンなAPIを提供することにより、開発を簡素化し、より広範な展開オプションを可能にします。 デスクトップアプリケーション、Webサービス、またはクラウドベースのソリューションを構築しているかどうかに関係なく、IronXLはすべての環境でExcel自動化が確実に動作するようにします。
Excel自動化を近代化する準備ができていますか? 無料トライアルとしてIronXLをダウンロード $liteLicenseから開始
よくある質問
Microsoft Officeを使用せずにC#でExcelファイルを開くにはどうすればよいですか?
IronXLを使用すると、Microsoft Officeを必要とせずにC#でExcelファイルを開くことができます。IronXLはInteropの現代的な代替手段を提供し、より良いパフォーマンスとExcelの依存をなくします。
C#でExcelファイルを処理するためにIronXLを使用する利点は何ですか?
IronXLは、パフォーマンスの向上、Excelインストールへの依存なし、および展開の柔軟性の向上など、いくつかの利点を提供します。レポートの自動化、データのインポートの読み取り、およびスプレッドシートを効率的に生成することができます。
IronXLは自動化タスクのためにExcelファイルを扱うことができますか?
はい、IronXLは毎週のレポート生成、データインポートの読み取り、動的なスプレッドシート生成のためのツールの作成などの自動化タスクに最適です。
IronXLはC#アプリケーションにおけるInteropの適切な代替品ですか?
IronXLは、Excel依存を排除し、Excelファイル作業時のアプリケーションパフォーマンスを向上させるモダンなソリューションを提供するため、Interopの適切な代替品です。
IronXLはExcelファイルの読み取りと書き込みをサポートしていますか?
IronXLは、Excelファイルの読み取りと書き込みの両方を完全にサポートしており、スプレッドシートデータを扱う.NET開発者にとって汎用性の高いツールです。






