C# で Excel ファイルの読み書きを行うためのガイド
Iron SoftwareのIronXLソフトウェアライブラリを使用すると、C#および他の.NET言語でExcel(XLS、XLSX、CSV)ファイルを読むことも作成することも簡単です。
IronXLは、サーバーにExcel Interopをインストールする必要がありません。 IronXLはMicrosoft.Office.Interop.Excelよりも高速で直感的なAPIを提供します。
IronXLは次のプラットフォームで動作します:
- WindowsおよびAzure向けの.NET Framework 4.6.2以上
- Windows、Linux、MacOS、Azure向けの.NET Core 2以上
- .NET 5, .NET 6, .NET 7, .NET 8, Mono, Maui, およびXamarin
IronXLをインストール
Firstly install IronXL, using our NuGet package or by downloading the DLL. IronXL classes can be found in the IronXL namespace.
IronXLをインストールする最も簡単な方法は、Visual-StudioのNuGetパッケージマネージャーを使用することです。 パッケージ名はIronXL.Excelです。
Install-Package IronXL.Excel
Excelドキュメントを読む
IronXLを使用すると、Excelファイルからのデータ抽出はほんの数行のコードで行うことができます。
:path=/static-assets/excel/content-code-examples/get-started/get-started-1.csusing IronXL;
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();
// Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = workSheet["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in workSheet["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}Imports IronXL
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("data.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()
' Select cells easily in Excel notation and return the calculated value, date, text or formula
Private cellValue As Integer = workSheet("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In workSheet("A2:B10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell新しいExcelドキュメントを作成する
IronXLは、C#またはVB.NETを使用してExcelドキュメントを簡単かつ迅速に生成するためのインターフェースを提供します。
:path=/static-assets/excel/content-code-examples/get-started/get-started-2.csusing IronXL;
// Create new Excel WorkBook document.
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
workBook.Metadata.Author = "IronXL";
// Add a blank WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("main_sheet");
// Add data and styles to the new worksheet
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
// Save the excel file
workBook.SaveAs("NewExcelFile.xlsx");Imports IronXL
' Create new Excel WorkBook document.
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
workBook.Metadata.Author = "IronXL"
' Add a blank WorkSheet
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("main_sheet")
' Add data and styles to the new worksheet
workSheet("A1").Value = "Hello World"
workSheet("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
' Save the excel file
workBook.SaveAs("NewExcelFile.xlsx")CSV、XLS、XLSX、JSON、XMLとしてエクスポートする
IronXLはまた、データをさまざまな一般的な構造化スプレッドシート形式で保存またはエクスポートすることを可能にします。
:path=/static-assets/excel/content-code-examples/get-started/get-started-3.cs// Export to many formats with fluent saving
workSheet.SaveAs("NewExcelFile.xls");
workSheet.SaveAs("NewExcelFile.xlsx");
workSheet.SaveAsCsv("NewExcelFile.csv");
workSheet.SaveAsJson("NewExcelFile.json");
workSheet.SaveAsXml("NewExcelFile.xml");' Export to many formats with fluent saving
workSheet.SaveAs("NewExcelFile.xls")
workSheet.SaveAs("NewExcelFile.xlsx")
workSheet.SaveAsCsv("NewExcelFile.csv")
workSheet.SaveAsJson("NewExcelFile.json")
workSheet.SaveAsXml("NewExcelFile.xml")セルと範囲をスタイリングする
IronXL.Range.Styleオブジェクトを使用して、Excelのセルと範囲にフォーマットを適用できます。
:path=/static-assets/excel/content-code-examples/get-started/get-started-4.cs// Set cell's value and styles
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;' Set cell's value and styles
workSheet("A1").Value = "Hello World"
workSheet("A2").Style.BottomBorder.SetColor("#ff6600")
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double範囲のソート
IronXLを使って、Rangeオブジェクトを使ってExcelセルの範囲を簡単にソートできます。
:path=/static-assets/excel/content-code-examples/get-started/get-started-5.csusing IronXL;
WorkBook workBook = WorkBook.Load("test.xls");
WorkSheet workSheet = workBook.WorkSheets.First();
// This is how we get range from Excel worksheet
Range range = workSheet["A2:A8"];
// Sort the range in the sheet
range.SortAscending();
workBook.Save();Imports IronXL
Private workBook As WorkBook = WorkBook.Load("test.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()
' This is how we get range from Excel worksheet
Private range As Range = workSheet("A2:A8")
' Sort the range in the sheet
range.SortAscending()
workBook.Save()数式を編集する
Excelの数式を変更するのは、"="記号で始まる値を割り当てるのと同じくらい簡単です。 数式は瞬時に計算されます。
:path=/static-assets/excel/content-code-examples/get-started/get-started-6.cs// Set a formula
workSheet["A1"].Value = "=SUM(A2:A10)";
// Get the calculated value
decimal sum = workSheet["A1"].DecimalValue;' Set a formula
workSheet("A1").Value = "=SUM(A2:A10)"
' Get the calculated value
Dim sum As Decimal = workSheet("A1").DecimalValueなぜIronXLを選ぶのか?
IronXLは.NETでExcelドキュメントを読み書きするための開発者に優しいAPIを提供します。 サーバーにMicrosoft ExcelやExcel Interopをインストールする必要がないため、Excelファイルの処理が高速で軽量かつ手間いらずです。
今後のステップ
より多くの機能や能力を探索するには、MSDNドキュメントに似た形式の.NET APIリファレンスのレビューをお勧めします。






