フッターコンテンツにスキップ
IRONXLの使用

IronXLを使用して C# で Excel データをインポートする方法

Microsoft Excelファイルを扱うことは、多く for .NET開発者にとって日常的な要件です。 顧客データのインポート、財務報告書の処理、スプレッドシートからデータベースへのデータ移行など、開発者は複雑な依存関係やExcelのインストールを必要とせずに、Excelファイルを確実に読み取れる方法を必要としています。 Microsoft.Office.Interop を介した COM 自動化などの従来のアプローチでは、Office の完全なインストールが必要であり、プラットフォームの制約が生じ、脆弱な展開依存関係が発生します。 IronXLは、プラットフォームを問わず動作するシンプルなソリューションを提供し、これらの問題をすべて解消し、マネージド.NETコードから直接Excel操作を可能にします。

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 1 - IronXL

IronXLのインストール方法とExcelインポートの開始方法を教えてください

IronXLを使えば、C#でのExcelインポートを数分で始めることができます。 Excelライブラリは、従来のXLS形式と最新のXLSX形式の両方に対応しており、 CSV 、TSV、その他のスプレッドシート形式もサポートしています。 Microsoft.Office.Interop.Excelに依存するソリューションとは異なり、IronXLは.NETまたは.NET Coreプラットフォーム上で独立して動作します。

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 2 - クロスプラットフォーム

IronXLは、 NuGetパッケージマネージャーまたは.NET CLIを使用してインストールしてください。 Visual Studio のNuGetパッケージの管理ダイアログを使用して、"IronXL"を検索することもできます。

Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
SHELL

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 3 - インストール

インストールに関する詳細な情報(バージョン互換性や依存関係に関する注意事項を含む)については、 IronXL NuGetインストールガイドを参照してください。 追加のランタイム依存関係やOfficeコンポーネントは必要ありません。このパッケージは自己完結型です。 パッケージがインストールされれば、Excelデータのインポートは簡単です。

using IronXL;

// Load any Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
// Access the first worksheet
WorkSheet sheet = workBook.WorkSheets[0];
// Read a cell value
string value = sheet["B1"].StringValue;
Console.WriteLine(value);
using IronXL;

// Load any Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
// Access the first worksheet
WorkSheet sheet = workBook.WorkSheets[0];
// Read a cell value
string value = sheet["B1"].StringValue;
Console.WriteLine(value);
Imports IronXL

' Load any Excel file
Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
' Access the first worksheet
Dim sheet As WorkSheet = workBook.WorkSheets(0)
' Read a cell value
Dim value As String = sheet("B1").StringValue
Console.WriteLine(value)
$vbLabelText   $csharpLabel

このコードは、ワークブックをロードし、ワークシートにアクセスし、セルの値を読み取るという、中核となるワークフローを示しています。 WorkBook.Load() メソッドは、ファイル形式(XLS、XLSX、CSV のいずれであっても)を自動的に検出します。直感的なインデクサー構文 sheet["B1"] により、セルへのアクセスは配列の操作と同じくらい自然に行えます。 利用可能なメンバーとオーバーロードの完全なリファレンスについては、 IronXL API ドキュメントを参照してください。

サンプル入力

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 4 - Excel 入力

出力

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 5 - コンソール出力

ExcelデータをC#オブジェクトに読み込むにはどうすればよいですか?

実際のアプリケーションでは、単一セルの値以上のものが必要です。 IronXLはデータセット全体をインポートし、使用可能なC#オブジェクトに変換することを得意としています。 構造化されたExcelデータをインポートする必要がある場合、このライブラリはドメインモデルに直接マッピングできる複数の方法を提供します。

以下の例では、ワークシートから行を読み込み、各行を型指定されたオブジェクトにマッピングします。

using IronXL;

// Load the Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Map rows to typed objects
var products = new List<Product>();
foreach (var row in sheet.Rows)
{
    var product = new Product
    {
        Id = row.Columns[0].IntValue,
        Name = row.Columns[1].StringValue,
        Price = row.Columns[2].DecimalValue,
        IsAvailable = row.Columns[3].BoolValue
    };
    products.Add(product);
}

foreach (var product in products)
{
    Console.WriteLine(
        $"Id: {product.Id}, Name: {product.Name}, " +
        $"Price: {product.Price}, Available: {product.IsAvailable}"
    );
}
using IronXL;

// Load the Excel file
WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Map rows to typed objects
var products = new List<Product>();
foreach (var row in sheet.Rows)
{
    var product = new Product
    {
        Id = row.Columns[0].IntValue,
        Name = row.Columns[1].StringValue,
        Price = row.Columns[2].DecimalValue,
        IsAvailable = row.Columns[3].BoolValue
    };
    products.Add(product);
}

foreach (var product in products)
{
    Console.WriteLine(
        $"Id: {product.Id}, Name: {product.Name}, " +
        $"Price: {product.Price}, Available: {product.IsAvailable}"
    );
}
Imports IronXL

' Load the Excel file
Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Map rows to typed objects
Dim products As New List(Of Product)()
For Each row In sheet.Rows
    Dim product As New Product With {
        .Id = row.Columns(0).IntValue,
        .Name = row.Columns(1).StringValue,
        .Price = row.Columns(2).DecimalValue,
        .IsAvailable = row.Columns(3).BoolValue
    }
    products.Add(product)
Next

For Each product In products
    Console.WriteLine(
        $"Id: {product.Id}, Name: {product.Name}, " &
        $"Price: {product.Price}, Available: {product.IsAvailable}"
    )
Next
$vbLabelText   $csharpLabel

型付きプロパティ -- DecimalValue、および BoolValue -- は、型変換を自動的に処理します。 このアプローチにより、手動での解析が不要になり、異なるデータ型の列を扱う際のエラーが軽減されます。Stack Overflowの多くの開発者は、Excelデータのインポートにおけるこの型安全なアプローチを高く評価しています。

出力

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 6 - オブジェクト出力

セル範囲とLINQをどのように連携させるのですか?

IronXLは、集計計算やフィルタリングされたクエリにおいて、LINQとの互換性を組み込んだ範囲演算をサポートしています。

using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Read a named cell range
Range dataRange = sheet["A1:D5"];

// Calculate aggregates directly on a range
decimal sum = sheet["C1:C5"].Sum();
Console.WriteLine($"Sum of C1:C5: {sum}");

decimal max = sheet["C1:C5"].Max(c => c.DecimalValue);
Console.WriteLine($"Max of C1:C5: {max}");

// Filter using LINQ
var highValueOrders = dataRange
    .Where(cell => cell.DecimalValue > 100)
    .Select(cell => cell.Value)
    .ToList();

Console.WriteLine("Orders above 100:");
foreach (var order in highValueOrders)
{
    Console.WriteLine(order);
}
using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Read a named cell range
Range dataRange = sheet["A1:D5"];

// Calculate aggregates directly on a range
decimal sum = sheet["C1:C5"].Sum();
Console.WriteLine($"Sum of C1:C5: {sum}");

decimal max = sheet["C1:C5"].Max(c => c.DecimalValue);
Console.WriteLine($"Max of C1:C5: {max}");

// Filter using LINQ
var highValueOrders = dataRange
    .Where(cell => cell.DecimalValue > 100)
    .Select(cell => cell.Value)
    .ToList();

Console.WriteLine("Orders above 100:");
foreach (var order in highValueOrders)
{
    Console.WriteLine(order);
}
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Read a named cell range
Dim dataRange As Range = sheet("A1:D5")

' Calculate aggregates directly on a range
Dim sum As Decimal = sheet("C1:C5").Sum()
Console.WriteLine($"Sum of C1:C5: {sum}")

Dim max As Decimal = sheet("C1:C5").Max(Function(c) c.DecimalValue)
Console.WriteLine($"Max of C1:C5: {max}")

' Filter using LINQ
Dim highValueOrders = dataRange _
    .Where(Function(cell) cell.DecimalValue > 100) _
    .Select(Function(cell) cell.Value) _
    .ToList()

Console.WriteLine("Orders above 100:")
For Each order In highValueOrders
    Console.WriteLine(order)
Next
$vbLabelText   $csharpLabel

Range クラスは、複数のセルに同時にアクセスできるコレクションのような機能を提供します。 LINQとの互換性により、中間コレクションに変換することなく、使い慣れたC#のパターンを使用してExcelデータをフィルタリング、変換、集計できます。組み込みの集計メソッド(Max()など)は、セル範囲に対して直接動作します。 ワークブックデータの読み込みに関する詳細については、 IronXLのExcelファイル読み込みガイドを参照してください。

出力

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 7 - 範囲出力

C#でExcelをDataTableに変換するにはどうすればよいですか?

DataTableの変換は、データベース操作とデータバインディングのシナリオに不可欠です。 IronXLには、ExcelからDataSetまたはDataTableへの変換を処理する組み込みメソッドが用意されています。 この機能は、ExcelスプレッドシートをSQL Serverやその他のリレーショナルデータベースにインポートする必要がある場合に特に便利です。 結果として得られるオブジェクトは標準の System.Data.DataTable であるため、データアクセス層を変更することなく、ADO.NET と互換性のあるコードパスであればどれでも動作します。

using IronXL;
using System.Data;
using System.Data.SqlClient;

// Load Excel file
WorkBook workBook = WorkBook.Load("inventory.xlsx");
// Select the first worksheet
WorkSheet sheet = workBook.WorkSheets.First();

// Convert to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

// Use SqlBulkCopy to insert directly into SQL Server
string connectionString = "Data Source=.;Initial Catalog=InventoryDB;Integrated Security=True;";
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString))
{
    bulkCopy.DestinationTableName = "Inventory";
    bulkCopy.WriteToServer(dataTable);
}
using IronXL;
using System.Data;
using System.Data.SqlClient;

// Load Excel file
WorkBook workBook = WorkBook.Load("inventory.xlsx");
// Select the first worksheet
WorkSheet sheet = workBook.WorkSheets.First();

// Convert to DataTable -- first row becomes column headers
DataTable dataTable = sheet.ToDataTable(true);

// Use SqlBulkCopy to insert directly into SQL Server
string connectionString = "Data Source=.;Initial Catalog=InventoryDB;Integrated Security=True;";
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString))
{
    bulkCopy.DestinationTableName = "Inventory";
    bulkCopy.WriteToServer(dataTable);
}
Imports IronXL
Imports System.Data
Imports System.Data.SqlClient

' Load Excel file
Dim workBook As WorkBook = WorkBook.Load("inventory.xlsx")
' Select the first worksheet
Dim sheet As WorkSheet = workBook.WorkSheets.First()

' Convert to DataTable -- first row becomes column headers
Dim dataTable As DataTable = sheet.ToDataTable(True)

' Use SqlBulkCopy to insert directly into SQL Server
Dim connectionString As String = "Data Source=.;Initial Catalog=InventoryDB;Integrated Security=True;"
Using bulkCopy As New SqlBulkCopy(connectionString)
    bulkCopy.DestinationTableName = "Inventory"
    bulkCopy.WriteToServer(dataTable)
End Using
$vbLabelText   $csharpLabel

ToDataTable() メソッドは、最初の行にヘッダーが含まれているかどうかを示すブール型のパラメータを受け取ります。 IronXLは、trueに設定すると、最初の行の値を自動的に列名として使用します。 作成されたDataTableは、追加の設定なしに.NET、Entity Framework、およびデータバインディングコントロールと統合されます。

変換プロセスをより詳細に制御するには、DataTableを手動で構築できます。

using IronXL;
using System.Data;

WorkBook workBook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workBook.WorkSheets.First();

// Build DataTable manually for custom column types or validation
DataTable customTable = new DataTable();

for (int col = 0; col < sheet.ColumnCount; col++)
{
    customTable.Columns.Add($"Column{col + 1}", typeof(string));
}

foreach (var row in sheet.Rows)
{
    var dataRow = customTable.NewRow();
    for (int col = 0; col < sheet.ColumnCount; col++)
    {
        dataRow[col] = row.Columns[col].Value ?? DBNull.Value;
    }
    customTable.Rows.Add(dataRow);
}

// Print headers
foreach (DataColumn column in customTable.Columns)
{
    Console.Write($"{column.ColumnName}\t");
}
Console.WriteLine();

// Print data rows
foreach (DataRow row in customTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
using IronXL;
using System.Data;

WorkBook workBook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workBook.WorkSheets.First();

// Build DataTable manually for custom column types or validation
DataTable customTable = new DataTable();

for (int col = 0; col < sheet.ColumnCount; col++)
{
    customTable.Columns.Add($"Column{col + 1}", typeof(string));
}

foreach (var row in sheet.Rows)
{
    var dataRow = customTable.NewRow();
    for (int col = 0; col < sheet.ColumnCount; col++)
    {
        dataRow[col] = row.Columns[col].Value ?? DBNull.Value;
    }
    customTable.Rows.Add(dataRow);
}

// Print headers
foreach (DataColumn column in customTable.Columns)
{
    Console.Write($"{column.ColumnName}\t");
}
Console.WriteLine();

// Print data rows
foreach (DataRow row in customTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
Imports IronXL
Imports System.Data

Dim workBook As WorkBook = WorkBook.Load("inventory.xlsx")
Dim sheet As WorkSheet = workBook.WorkSheets.First()

' Build DataTable manually for custom column types or validation
Dim customTable As New DataTable()

For col As Integer = 0 To sheet.ColumnCount - 1
    customTable.Columns.Add($"Column{col + 1}", GetType(String))
Next

For Each row In sheet.Rows
    Dim dataRow = customTable.NewRow()
    For col As Integer = 0 To sheet.ColumnCount - 1
        dataRow(col) = If(row.Columns(col).Value, DBNull.Value)
    Next
    customTable.Rows.Add(dataRow)
Next

' Print headers
For Each column As DataColumn In customTable.Columns
    Console.Write($"{column.ColumnName}" & vbTab)
Next
Console.WriteLine()

' Print data rows
For Each row As DataRow In customTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}" & vbTab)
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

この方法なら、インポート時に完全な柔軟性が得られます。 NULL値は、データベースの列制約との互換性を確保するために、DBNull.Valueに変換することで適切に処理されます。 データをファイルに書き戻す方法についての詳細は、 IronXLのExcelファイル書き込みガイドを参照してください。

出力

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 8 - DataTable 出力

数式、複数シートのワークブック、およびEntity Frameworkをどのように操作しますか?

IronXLは、基本的な読解機能にとどまらず、複雑な現実世界のシナリオに対応する機能を備えています。 このライブラリはExcelの数式を保持するため、計算を動的に評価できます。 複雑なExcelワークブックを扱う開発者にとって、これはインポートプロセス全体を通してデータの整合性を維持するのに役立ちます。

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 9 - 機能

数式と計算値の読み方

using IronXL;

WorkBook workBook = WorkBook.Load("FinancialReport.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Reports");

// Read the evaluated result of a formula cell
decimal calculatedTotal = sheet["E10"].DecimalValue;
Console.WriteLine($"Total: {calculatedTotal}");

// Read the formula string itself
string formula = sheet["E10"].Formula;
Console.WriteLine($"Formula: {formula}"); // e.g. "=SUM(E2:E9)"
using IronXL;

WorkBook workBook = WorkBook.Load("FinancialReport.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Reports");

// Read the evaluated result of a formula cell
decimal calculatedTotal = sheet["E10"].DecimalValue;
Console.WriteLine($"Total: {calculatedTotal}");

// Read the formula string itself
string formula = sheet["E10"].Formula;
Console.WriteLine($"Formula: {formula}"); // e.g. "=SUM(E2:E9)"
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("FinancialReport.xlsx")
Dim sheet As WorkSheet = workBook.GetWorkSheet("Reports")

' Read the evaluated result of a formula cell
Dim calculatedTotal As Decimal = sheet("E10").DecimalValue
Console.WriteLine($"Total: {calculatedTotal}")

' Read the formula string itself
Dim formula As String = sheet("E10").Formula
Console.WriteLine($"Formula: {formula}") ' e.g. "=SUM(E2:E9)"
$vbLabelText   $csharpLabel

数式サポートとは、複雑な計算式を含むExcelファイルをインポートする際に、ビジネスロジックをコードで再作成することなく動作することを意味します。 このライブラリは数式を自動的に評価し、元の数式文字列を保持したまま計算結果を返します。 これは、入れ子になった数式を含む財務モデルやレポートテンプレートをインポートする際に非常に役立ちます。

クロスプラットフォーム互換性により、Windows、Linux、macOS、コンテナ環境で一貫した動作が保証されます。 このため、 IronXLはOfficeのインストールが困難なクラウド環境やマイクロサービスに最適です。 .NET Foundationのドキュメントでは、最新 for .NETアプリケーションがプラットフォーム非依存性からどのような恩恵を受けているかが強調されています。

ExcelデータをEntity Frameworkと統合する

Entity Frameworkとの統合により、Excelからデータベースへの直接的なパイプラインが構築されます。 以下のパターンは、 .NET 10 のトップレベルステートメントで問題なく動作します。

using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Skip the header row, map remaining rows to entity objects
var products = sheet.Rows
    .Skip(1)
    .Select(row => new Product
    {
        Name = row.Columns[0].StringValue,
        Price = row.Columns[1].DecimalValue
    })
    .ToList();

using var context = new AppDbContext();
await context.Products.AddRangeAsync(products);
await context.SaveChangesAsync();

Console.WriteLine($"Imported {products.Count} products.");
using IronXL;

WorkBook workBook = WorkBook.Load("ProductData.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

// Skip the header row, map remaining rows to entity objects
var products = sheet.Rows
    .Skip(1)
    .Select(row => new Product
    {
        Name = row.Columns[0].StringValue,
        Price = row.Columns[1].DecimalValue
    })
    .ToList();

using var context = new AppDbContext();
await context.Products.AddRangeAsync(products);
await context.SaveChangesAsync();

Console.WriteLine($"Imported {products.Count} products.");
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("ProductData.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Skip the header row, map remaining rows to entity objects
Dim products = sheet.Rows _
    .Skip(1) _
    .Select(Function(row) New Product With {
        .Name = row.Columns(0).StringValue,
        .Price = row.Columns(1).DecimalValue
    }) _
    .ToList()

Using context As New AppDbContext()
    Await context.Products.AddRangeAsync(products)
    Await context.SaveChangesAsync()
End Using

Console.WriteLine($"Imported {products.Count} products.")
$vbLabelText   $csharpLabel

このパターンは、最小限のコードでExcelからデータベースへの直接的なデータ移行を可能にするため、ETLプロセス、単発のデータ移行、および定期的なインポートジョブに最適です。 LINQプロジェクションはコンテキストが保存される前にメモリ上で実行されるため、検証ロジックや変換ロジックを同じステップで適用できます。C#データから新しいExcelファイルを作成する方法については、 IronXLのExcelファイル作成ガイドを参照してください。

対応ファイル形式

IronXLは、追加のライブラリやOfficeのインストールなしに、幅広いスプレッドシート形式に対応しています。 以下の表は、サポートされているフォーマットとその使用例をまとめたものです。

IronXLがサポートするExcelファイル形式
形式 拡大 注意事項
Excelワークブック .xlsx Excel 2007以降の既定の形式
レガシーExcelワークブック .xls 旧バージョンのExcelと互換性があります
カンマ区切り値 .csv プレーンテキスト形式の表形式データ、広くサポートされている
タブ区切り値 .tsv カンマが埋め込まれたデータに適しています
Excelバイナリワークブック .xlsb 大容量ファイル向けのコンパクトなバイナリ形式

これらの形式にデータをエクスポートする方法については、 IronXLのExcelエクスポートガイドを参照してください。

インポート時にセルの書式設定はどのように処理しますか?

Excelファイルをインポートする際、セルの書式を保持または確認することは、生の値を読み取ることと同じくらい重要な場合が多い。 IronXLは、すべてのセルに対してフォント、色、配置、境界線のプロパティを公開しているため、検証ルールを適用したり、スタイルをプログラムで再現したりできます。 これは、視覚的な書式設定が意味を持つレポート、例えば、リスクレベルを示す色付きのセルや、合計を示す太字の行などにおいて特に役立ちます。

例えば、セルに太字が含まれているかどうか(これは行が要約行または合計行であることを示す一般的な兆候です)を確認してから、インポートしたデータセットに含めるかどうかを決定すると良いでしょう。

using IronXL;

WorkBook workBook = WorkBook.Load("StyledReport.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

foreach (var row in sheet.Rows)
{
    var firstCell = row.Columns[0];

    // Skip rows where the first cell is bold (typically header or total rows)
    if (firstCell.Style.Font.Bold)
    {
        continue;
    }

    Console.WriteLine($"Data row: {firstCell.StringValue}");
}
using IronXL;

WorkBook workBook = WorkBook.Load("StyledReport.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;

foreach (var row in sheet.Rows)
{
    var firstCell = row.Columns[0];

    // Skip rows where the first cell is bold (typically header or total rows)
    if (firstCell.Style.Font.Bold)
    {
        continue;
    }

    Console.WriteLine($"Data row: {firstCell.StringValue}");
}
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("StyledReport.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

For Each row In sheet.Rows
    Dim firstCell = row.Columns(0)

    ' Skip rows where the first cell is bold (typically header or total rows)
    If firstCell.Style.Font.Bold Then
        Continue For
    End If

    Console.WriteLine($"Data row: {firstCell.StringValue}")
Next
$vbLabelText   $csharpLabel

セルと範囲の書式設定(数値書式文字列や背景色へのアクセスを含む)に関する詳細なリファレンスについては、 IronXLセル書式設定ガイドを参照してください。 処理後に出力ファイルに対してマージ操作を適用することもできます。詳しくは、 IronXLのマージセルガイドを参照してください。

プロジェクトに最適なIronXLライセンスを選ぶにはどうすればよいでしょうか?

IronXLは、プロジェクトの規模に合わせて柔軟なライセンスオプションを提供します。 評価用の無料トライアルライセンスをご利用いただけます。これにより、開発期間中は時間制限なくすべての機能をご利用いただけます。 試用版では出力ファイルに透かしが入りますが、有効な製品版ライセンスを取得すると透かしは削除されます。

 IronXLを使用して C# で MS Excel ファイルデータを簡単にインポート、読み取り、操作する方法 : 画像 10 - ライセンス

本番環境向けアプリケーションを開発するチーム向けに、 IronXLのライセンスには、個人開発者、チーム、組織全体への導入に対応したオプションが用意されています。 すべての制作ライセンスには以下が含まれます。

  • ロイヤリティフリーの再配布権 IronXL開発チームによる優先サポート ライセンス期間中は、現行バージョンおよびマイナーバージョンのすべてのアップデートにアクセスできます。

IronXLを他のExcelライブラリと併せて評価する場合は、 IronXLの機能概要に各ティアに含まれる機能の詳細な内訳が記載されています。

プロジェクトでIronXLを使い始めるには、 IronXL製品ページにアクセスするか、 IronXLのドキュメントを直接参照してください。ドキュメントには、セットアップガイド、ハウツー記事、ライブラリのすべての機能を網羅したAPIリファレンスが掲載されています。

よくある質問

C#でExcelデータをインポートするにはどうすればよいですか?

IronXLを使用すると、Microsoft Excelがシステムにインストールされていなくても、C#でExcelデータを簡単にインポートできます。

Excelファイル操作にIronXLを使用する利点は何ですか?

IronXLは、開発者が複雑な依存関係なしにC#でExcelファイルを読み書き、操作することを可能にし、さまざまなプラットフォームで動作します。

IronXLを使用するためにMicrosoft Officeをインストールする必要がありますか?

IronXLはMicrosoft Officeのインストールを不要にし、C#アプリケーション内でExcelファイルを直接操作できるようにします。

IronXLはXLSXとCSVの両方のファイル形式を扱えますか?

IronXLはXLSXやCSVを含む様々なExcelファイル形式をサポートしています。

IronXLは大きなExcelファイルの処理に適していますか?

IronXLは大きなExcelファイルを効率的に処理するように設計されており、開発者はパフォーマンスの問題なしに膨大なデータセットを処理することができます。

IronXLはどのようなプラットフォームをサポートしていますか?

IronXLは複数のプラットフォームと互換性があり、Excelファイルを扱うアプリケーションのクロスプラットフォーム開発とデプロイを可能にします。

IronXLはExcelからデータベースへのデータ移行をどのように簡素化しますか?

IronXLはExcelシートからデータを読み込んでエクスポートする簡単な方法を提供し、複雑なコーディングなしにデータベースへのデータ転送を容易にします。

IronXLを使ってExcelのレポート作成を自動化できますか?

IronXLはExcelレポート生成の自動化を可能にし、C#でExcelファイルをプログラムで作成、操作できるようにします。

IronXLは小規模からエンタープライズレベルのアプリケーションまで対応できますか?

IronXLは多用途で拡張性があるため、小規模なプロジェクトからエクセルファイルの操作を必要とする大規模なエンタープライズレベルのアプリケーションまで適しています。

カーティス・チャウ
テクニカルライター

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

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

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね