C# Excelチュートリアル:IronXLライブラリの使用を学ぶ(Interopなし)

A Guide to Reading and Writing Excel Files in C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Iron SoftwareのIronXLソフトウェアライブラリを使用すると、C#および他 for .NET言語でExcel(XLS、XLSX、CSV)ファイルを読むことも作成することも簡単です。

IronXLは、サーバーにExcel Interopをインストールする必要がありません。 IronXLはMicrosoft.Office.Interop.Excelよりも高速で直感的なAPIを提供します。

IronXLは次のプラットフォームで動作します:

  • WindowsおよびAzure向け for .NET Framework 4.6.2以上
  • Windows、Linux、MacOS、Azure向け for .NET Core 2以上
  • .NET 5, .NET 6, .NET 7, .NET 8, Mono, Maui, およびXamarin

IronXLをインストール

まずは、NuGetパッケージを使用するか、DLLをダウンロードしてIronXLをインストールします。 IronXL のクラスは IronXL ネームスペースにあります。

IronXLをインストールする最も簡単な方法は、Visual-StudioのNuGetパッケージマネージャーを使用することです。 パッケージ名はIronXL.Excelです。

Install-Package IronXL.Excel

https://www.nuget.org/packages/IronXL.Excel/

Excelドキュメントを読む

IronXLを使用すると、Excelファイルからのデータ抽出はほんの数行のコードで行うことができます。

:path=/static-assets/excel/content-code-examples/get-started/get-started-1.cs
using 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
$vbLabelText   $csharpLabel

新しいExcelドキュメントを作成する

IronXLは、C#またはVB.NETを使用してExcelドキュメントを簡単かつ迅速に生成するためのインターフェースを提供します。

:path=/static-assets/excel/content-code-examples/get-started/get-started-2.cs
using 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")
$vbLabelText   $csharpLabel

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

セルと範囲をスタイリングする

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

範囲のソート

IronXLを使って、Rangeオブジェクトを使ってExcelセルの範囲を簡単にソートできます。

:path=/static-assets/excel/content-code-examples/get-started/get-started-5.cs
using IronXL;
using Range = IronXL.Range;

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

Dim workBook As WorkBook = WorkBook.Load("test.xls")
Dim workSheet As WorkSheet = workBook.WorkSheets.First()

' This is how we get range from Excel worksheet
Dim range As Range = workSheet("A2:A8")

' Sort the range in the sheet
range.SortAscending()
workBook.Save()
$vbLabelText   $csharpLabel

数式を編集する

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

なぜIronXLを選ぶのか?

IronXLは.NETでExcelドキュメントを読み書きするための開発者に優しいAPIを提供します。 サーバーにMicrosoft ExcelやExcel Interopをインストールする必要がないため、Excelファイルの処理が高速で軽量かつ手間いらずです。

今後のステップ

より多くの機能や能力を探索するには、MSDNドキュメントに似た形式の.NET APIリファレンスのレビューをお勧めします。

Curtis Chau
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 2,134,203 | バージョン: 2026.7 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronXL.Excel
サンプルを実行する あなたのデータがスプレッドシートになるのを見る。