.NET Excel ライブラリ (開発者向けチュートリアル)
IronXLを使えば、Microsoft Officeのインストールを必要とせず、わずか数行のコードでC#/ .NETでExcelファイルの作成、読み込み、エクスポートが可能です。そのため、迅速なExcel統合機能を必要とする、成長著しいスタートアップ企業に最適です。
IronXLが.NET開発に最適なExcelライブラリである理由とは?
この記事では、 .NETで Microsoft Excel ドキュメントをプログラム的に操作することを簡素化するExcel ライブラリであるIronXLについて解説します。 Excelワークシートを読み込み、 Excelテーブルを作成し、スプレッドシートファイルをCSVファイルにエクスポートするためのExcelスプレッドシート環境を作成します。
Microsoft.Office.Interopではなく、 IronXLを選ぶ理由とは?
Microsoft Excelで作成されたドキュメントは、C# IronXL .NET Excelライブラリを使用して読み込み、 CSVファイルに変換できます。 IronXLはスタンドアロンの.NETソフトウェアライブラリであり、Microsoft Office、Microsoft.Office.Interop.Excel、またはExcel Interopをインストールする必要はありません。 それは複数のスプレッドシート形式を読み取ることができ、単なる静的ライブラリではありません。
IronXLのシンプルなC# APIを使用すると、 .NET環境で複数のワークシートを簡単に読み込み、変更し、 Excelスプレッドシートを生成することができます。 Xamarin、 Linux 、 macOS 、 Azure 、 .NET Coreアプリケーション、および.NET Frameworkを完全にサポートしています。
迅速な導入を必要とするスタートアップ企業の創業者にとって、 IronXLは開発サーバーと本番サーバー全体におけるMicrosoft Officeのインストールへの依存を排除し、インフラストラクチャの複雑さとライセンスコストを大幅に削減します。 このライブラリはクロスプラットフォームに対応しているため、Linuxコンテナ、Azure Functions、従来のWindowsサーバーのいずれにデプロイする場合でも、Excelの処理機能がシームレスに動作します。
IronXLはどのプラットフォームとフォーマットをサポートしていますか?
- .NET Coreと.NET Frameworkの両方に対応
- Webアプリケーション、Windowsフォームアプリケーション、コンソールアプリケーションをサポートします
- Linux 、 macOS 、Windowsに対応
- Excelファイルへの迅速かつ簡単なアクセスを提供します *複数のExcelファイル形式(XLSX、CSV、XLS、XLST、TSV、XLSMなど)を読み取ります。
- Excelスプレッドシート上で計算を実行する
- テキスト、整数、日付、通貨、数式、パーセンテージなど、さまざまなデータ型をサポートします。
- Excel列の複数の値形式に対応
幅広いフォーマットに対応しているため、クライアントからアップロードされたExcelデータをインポートする場合でも、さまざまな関係者向けに異なるフォーマットにエクスポートする場合でも、異なるスプレッドシートファイル形式間で簡単に変換できます。
IronXLを使用するための.NETプロジェクトの設定方法を教えてください
次のセクションでは、 IronXLライブラリを使用してExcelファイルを作成および読み込むことがいかに簡単かを説明します。
新しいコンソールプロジェクトを作成する手順は何ですか?
ステップ1:Excelファイルを作成するための新しいプロジェクトを開始します。
Visual Studioを起動した後、"ファイル"メニューから"新しいプロジェクト"を選択します。
表示されるダイアログボックスで、"コンソールアプリ".NETプロジェクトテンプレートを選択して、"次へ"をクリックします。
新しいプロジェクト
"場所"欄に新しいプロジェクトの場所を入力したら、好きなプロジェクト名を入力できます。 次へボタンをクリックして続行します。
プロジェクト設定
どの.NET Frameworkバージョンを選択すればよいですか?
.NET Frameworkを選択してください。 ここでは、長期サポートバージョンの.NET 6.0を使用しています。 その後、作成ボタンを押します。
フレームワークの選択
スタートアップ環境においては、 .NET 6.0 LTSを選択することで、長期的な安定性とサポートが確保され、重要な成長段階におけるフレームワークのアップグレードの必要性を軽減できます。 このバージョンでは、優れたパフォーマンス向上も実現しており、 DockerデプロイメントおよびAzure Functionsとの完全な互換性があります。
NuGetパッケージマネージャーを使ってIronXLをインストールするにはどうすればよいですか?
次のソリューションに必要なIronXLライブラリを取得します。 これを行うには、以下のコマンドをNuGet Package Manager Consoleに入力します。
Install-Package IronXL.Excel
IronXL インストール
別のオプションとして、NuGetパッケージマネージャーを使用して"IronXL"というパッケージを検索することもできます。 次に、IronXLに関連するすべてのNuGetパッケージのリストからダウンロードしたいパッケージを選択します。
NuGetパッケージマネージャー
インストール手順は簡単で、1分以内に完了します。 CI/CDパイプラインを使用しているチームにとって、 IronXLは自動ビルドに簡単に統合できます。 ライセンスページで、スタートアップ企業向けの価格オプションと、デプロイメントパイプラインへのライセンスキーの適用方法をご確認ください。
IronXLを使用してC#でExcelファイルを作成するにはどうすればよいですか?
IronXLを使えば、わずか数行のコードで新しいExcelファイルを作成できます! IronXLは、以下のコード例に示すように、XLS(旧Excel形式)とXLSX(現行形式)の両方のファイルを作成できます。
新しいExcelワークブックを生成するための最小限のコードは何ですか?
using IronXL;
public class IronXLExample
{
public static void Main(string[] args)
{
// Create a new workbook
WorkBook workbook = WorkBook.Create();
// Create a new worksheet named "Sheet1"
WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
// Set the value of cell A1
worksheet["A1"].Value = "test";
// Save the workbook to a file
workbook.SaveAs("sample1.xlsx");
}
}
using IronXL;
public class IronXLExample
{
public static void Main(string[] args)
{
// Create a new workbook
WorkBook workbook = WorkBook.Create();
// Create a new worksheet named "Sheet1"
WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
// Set the value of cell A1
worksheet["A1"].Value = "test";
// Save the workbook to a file
workbook.SaveAs("sample1.xlsx");
}
}
Imports IronXL
Public Class IronXLExample
Public Shared Sub Main(ByVal args() As String)
' Create a new workbook
Dim workbook As WorkBook = WorkBook.Create()
' Create a new worksheet named "Sheet1"
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")
' Set the value of cell A1
worksheet("A1").Value = "test"
' Save the workbook to a file
workbook.SaveAs("sample1.xlsx")
End Sub
End Class
上記のコードは、 IronXLパッケージを使用して新しいExcelワークブックとワークシートを作成する方法を示しています。 WorkBook.Create() メソッドは新しいワークブックを作成し、次に CreateWorkSheet("Sheet1") 関数は指定された名前のワークシート タブを作成します。 変更内容は、SaveAs メソッドを使用して指定された場所に保存されます。
より複雑なシナリオでは、複数のワークシートを追加したり、セルの書式設定を適用したり、セルのデータ形式を設定したり、さらにはプログラムでExcelグラフを作成したりすることもできます。
// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");
// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";
// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;
// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format
// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);
workbook.SaveAs("sales_report.xlsx");
// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");
// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";
// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;
// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format
// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);
workbook.SaveAs("sales_report.xlsx");
' Create a workbook with multiple sheets and formatting
Dim workbook As WorkBook = WorkBook.Create()
Dim salesSheet As WorkSheet = workbook.CreateWorkSheet("Sales")
Dim revenueSheet As WorkSheet = workbook.CreateWorkSheet("Revenue")
' Add headers with formatting
salesSheet("A1").Value = "Product"
salesSheet("B1").Value = "Quantity"
salesSheet("C1").Value = "Revenue"
' Apply bold formatting to headers
salesSheet("A1:C1").Style.Font.Bold = True
' Add data with number formatting
salesSheet("A2").Value = "Widget A"
salesSheet("B2").Value = 150
salesSheet("C2").Value = 4500.0
salesSheet("C2").FormatString = "$#,##0.00" ' Currency format
' Auto-size columns for better readability
salesSheet.AutoSizeColumn(0)
salesSheet.AutoSizeColumn(1)
salesSheet.AutoSizeColumn(2)
workbook.SaveAs("sales_report.xlsx")
Excel出力
Excelファイルの作成例をもっと見つけるにはどうすればいいですか?
Excelファイルの作成方法について詳しく知りたい場合は、 .NETでExcelファイルを作成する方法に関するこちらのチュートリアルをご覧ください。 また、 Interopを使用せずにC#でExcelを操作する方法や、プログラムでExcelグラフを作成する方法についても学ぶことができます。
Excelデータを読み込み、さまざまな形式にエクスポートするにはどうすればよいですか?
データをXLSXまたはXLS形式でエクスポートするには、わずか数行のコードで済みます。 以下は、Excelファイルからデータをシンプルな表形式にエクスポートするために使用できるソースコードです。
既存のExcelファイルを読み込んで変更するには、どのようなコードが必要ですか?
using IronXL;
public class ExcelReadExportExample
{
public static void Main(string[] args)
{
// Load an existing Excel file
var workbook = WorkBook.LoadExcel("Demo file.xlsx");
// Get a worksheet from the workbook
WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");
// Read the value of cell A1
string addressVal = workSheet["A1"].ToString();
Console.WriteLine(addressVal);
// Modify the value of cell A2
workSheet["A2"].Value = "test";
// Save the workbook in multiple formats
workbook.SaveAs("export.xlsx");
// Or save as XLS
workbook.SaveAs("export.xls");
// Or save the specific worksheet as an XLS file
workbook.WorkSheets[0].SaveAs("export.xls");
}
}
using IronXL;
public class ExcelReadExportExample
{
public static void Main(string[] args)
{
// Load an existing Excel file
var workbook = WorkBook.LoadExcel("Demo file.xlsx");
// Get a worksheet from the workbook
WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");
// Read the value of cell A1
string addressVal = workSheet["A1"].ToString();
Console.WriteLine(addressVal);
// Modify the value of cell A2
workSheet["A2"].Value = "test";
// Save the workbook in multiple formats
workbook.SaveAs("export.xlsx");
// Or save as XLS
workbook.SaveAs("export.xls");
// Or save the specific worksheet as an XLS file
workbook.WorkSheets[0].SaveAs("export.xls");
}
}
Imports IronXL
Public Class ExcelReadExportExample
Public Shared Sub Main(ByVal args() As String)
' Load an existing Excel file
Dim workbook = WorkBook.LoadExcel("Demo file.xlsx")
' Get a worksheet from the workbook
Dim workSheet As WorkSheet = workbook.GetWorkSheet("Sheet1")
' Read the value of cell A1
Dim addressVal As String = workSheet("A1").ToString()
Console.WriteLine(addressVal)
' Modify the value of cell A2
workSheet("A2").Value = "test"
' Save the workbook in multiple formats
workbook.SaveAs("export.xlsx")
' Or save as XLS
workbook.SaveAs("export.xls")
' Or save the specific worksheet as an XLS file
workbook.WorkSheets(0).SaveAs("export.xls")
End Sub
End Class
ワークシートを名前またはインデックスで検索するにはどうすればよいですか?
上記の例では、ファイル名とパスを引数として受け取る LoadExcel メソッドを使用して、既存の Excel ファイルが読み込まれています。 ファイルはその後、WorkBook オブジェクトにインポートされます。 ワークシートは、シート名を指定することで、GetWorkSheet 関数を使用して読み込まれます。 セルの値は、そのアドレスを指定することによって読み取ることができます。 このコードは、SaveAs メソッドを使用してワークシートの値を変更し、ワークブックをさまざまなファイル形式で保存する方法も示しています。
IronXLは、範囲の選択、 CSVファイルの読み込み、およびさまざまなデータ構造の操作を柔軟に行うための機能を提供します。 Excelデータにアクセスして操作するさまざまな方法を示す、より詳細な例を以下に示します。
// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");
// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name
// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
Console.WriteLine($"{cell.Address}: {cell.Value}");
}
// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);
// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");
// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name
// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
Console.WriteLine($"{cell.Address}: {cell.Value}");
}
// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);
// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
' Load workbook from various sources
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
' Access worksheets in multiple ways
Dim sheet1 As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheet2 As WorkSheet = workbook.GetWorkSheet("Sheet2") ' By name
' Read data from ranges
Dim range = sheet1("A1:C10")
For Each cell In range
Console.WriteLine($"{cell.Address}: {cell.Value}")
Next
' Convert to DataTable for easier processing
Dim dataTable As DataTable = sheet1.ToDataTable(True)
' Export to various formats
workbook.SaveAs("output.csv") ' CSV format
workbook.SaveAsJson("output.json") ' JSON format
workbook.SaveAsXml("output.xml") ' XML format
コンソール出力
Excelファイルにはどのようなエクスポートオプションがありますか?
ワークシートは、名前またはインデックス値で参照して、 Excelスプレッドシートから別のファイルにデータをエクスポートすることもできます。IronXLは、 CSV 、 JSON、XML 、 HTMLなど、複数の形式へのエクスポートをサポートしています。 また、 DataSetおよびDataTable形式でエクスポートすることで、 .NETデータ処理パイプラインとのシームレスな統合を実現できます。
様々なシステムとの連携を必要とするスタートアップチームにとって、IronXLのエクスポート機能は迅速なデータ交換を可能にします。 SQLデータベースからExcelデータを読み込んだり、 Excelデータからデータベースのレコードを更新したり、 DataTableを介してExcelデータを操作したりすることで、迅速なプロトタイピングやMVP開発を行うことができます。
IronXLの今後の展開は?
新規ファイルの作成から精密な計算まで、 IronXLはあらゆるExcelプロジェクトに対応します。 本日は、 IronXLがExcelファイルの作成、読み込み、エクスポートをどのように行うのかを詳しく見ていき、わずか数行のコードでこれらのプロセスを完全に制御できることを確認しました。
IronXLにはどのような高度な機能がありますか?
IronXLは、Microsoft Excelドキュメントに関わるあらゆるプログラミング可能なタスクに対し、包括的なソリューションを提供します。 数式計算、文字列や数値の並べ替え、データの切り取りと追加、検索と置換、セルの結合と結合解除、データの視覚化、ファイルの保存などを行うことができます。 セルのデータ型を設定したり、スプレッドシートのデータを検証したりすることもできます。 CSVファイルの読み書きにより、Excelデータとのやり取りが可能です。
その他の高度な機能には以下が含まれます。
- 動的なデータ視覚化のための条件付き書式設定
- 安全なExcelファイルのためのパスワード保護
- ナビゲーションを容易にするためにウィンドウを固定します
- 共同作業のためのコメントを追加
- 行と列をグループ化およびグループ解除する
- より簡潔な数式を作成するための名前付き範囲と名前付きテーブルを使用
- 対話型スプレッドシートのハイパーリンクをサポート *行と列のサイズを自動調整して最適な表示を実現します
スタートアップチーム向けの料金体系はどのようなものですか?
IronXLは発売当初は$799の料金がかかりますが、顧客は機能改善や製品サポートを受けるために1年間の会員費を支払うこともできます。 IronXLは、無制限の再配布を可能にする追加のセキュリティ料金を課します。 価格の詳細については、こちらのライセンスページをご覧ください。
IronXLは、スタートアップ企業向けに、ライブラリを制限なく評価できる開発者ライセンスを提供しています。 ライセンスモデルは透明性が高く、隠れた料金は一切ありません。まずは開発者ライセンス1つから始め、チームの成長に合わせてアップグレードしていくことができます。 さまざまな導入シナリオにおけるライセンス適用に関するトラブルシューティングガイドを参照してください。
Blazorアプリケーションの構築、 AWS Lambdaへのデプロイ、 .NET MAUIの使用、 ASP.NET Webアプリケーションの作成など、どのような場合でも、 IronXLはMicrosoft Officeへの依存関係によるオーバーヘッドなしに、Excelの機能を迅速にリリースするために必要な柔軟性とパフォーマンスを提供します。
よくある質問
Interopなしで.NETでExcelファイルを作成および読み取るにはどうすればよいですか?
IronXLを使用すると、Microsoft Office Interopに依存せずに.NETでExcelファイルを簡単に作成および読み取ることができます。新しいExcelファイルを作成するにはWorkBook.Create()メソッドを、既存のファイルを読み取るにはLoadExcelを使います。
スタンドアロン for .NET Excelライブラリを使用する利点は何ですか?
Microsoft OfficeやInteropのインストールを必要としないIronXLのようなスタンドアロン for .NET Excelライブラリは、Excelファイルの読み書きやエクスポートをWindows、macOS、Linuxなどのさまざまなプラットフォームでシームレスに行うことができます。
プログラムでExcelファイルをCSV形式に変換するにはどうすればよいですか?
IronXLは、ExcelファイルをCSV形式に簡単に変換する機能を提供します。ExcelワークブックをCSVファイル形式にエクスポートするにはSaveAsメソッドを使用します。
Excelファイルを扱う際に、どのプラットフォームがIronXLと互換性がありますか?
IronXLは、Xamarin、Linux、macOS、Azure、.NET Core、.NET Frameworkを含む複数のプラットフォームと互換性があり、異なる環境で作業する開発者に柔軟性を提供します。
IronXLを使用してExcelカラム内で処理できるデータの種類は何ですか?
IronXLは、テキスト、整数、日付、通貨、数式、パーセンテージなど、Excelカラム内のさまざまなデータタイプをサポートし、スプレッドシート内で多用途なデータ処理を可能にします。
Excelスプレッドシートで.NETライブラリを使用して計算を実行する方法は?
IronXLを使用すると、自動計算によってExcelスプレッドシート内でプログラム的に数式を利用して計算を行うことができます。これにより、Excelファイル内で複雑な計算やデータ処理タスクを自動化することができます。
Excelファイル内の複数のワークシートを.NETライブラリで操作することは可能ですか?
はい、IronXLを使用すると、Excelファイル内の複数のワークシートを操作できます。APIを使用して、異なるワークシートにわたってデータを簡単にアクセス、修正、エクスポートすることができます。
IronXLを.NET Coreプロジェクトに設定するにはどうすればよいですか?
IronXLを.NET Coreプロジェクトに設定するには、NuGetパッケージマネージャーを介してインストールできます。パッケージマネージャーコンソールでInstall-Package IronXL.Excelコマンドを使用するか、またはVisual StudioのNuGetパッケージマネージャーから追加します。
IronXLのライセンスと価格オプションにはどのようなものがありますか?
IronXLは、改善とサポートのための1年間のメンバーシップ料金を含むさまざまなライセンスオプションを提供しています。セキュリティ機能や制限のない再配布権のためには追加のコストが発生する場合があります。



