IronXLを使用して C# で既存の Excel テンプレートにデータをエクスポートする方法
Microsoft Excelのテンプレートを使用すると、書式設定、数式、レイアウトを維持しながら、データを動的に入力できます。 このチュートリアルでは、Microsoft Officeの依存関係やExcel Interopを必要とせずに、 IronXLを使用して既存のExcelワークシートテンプレートにデータをエクスポートする方法を説明します。事前に設計されたテンプレートの読み込み、プレースホルダーマーカーの置換、表形式データの書き込み、一般的なエッジケースの処理、および任意 for .NET 10アプリケーションでのProfessionalXLSX出力の保存方法を学習できます。
Microsoft Officeがインストールされていない既存のExcelテンプレートにエクスポートする必要がある場合、 IronXLは、辞書、リスト、DataTableオブジェクト、およびデータベースクエリ結果からのデータ挿入をサポートする高性能ソリューションを提供します。 テンプレートがフォーマット済みの請求書、月次ダッシュボード、コンプライアンスレポートのいずれであっても、 IronXLはプログラムによって自動的にデータを入力し、その過程ですべてのスタイルルール、数式、条件付き書式を保持します。

Excelテンプレートはなぜレポート作成を改善するのか?
Excelテンプレートは、スプレッドシートをゼロから作成するよりも大きな利点があります。 テンプレートは、組織が既に承認したProfessional書式設定、複雑な数式、条件付き書式設定ルール、および検証済みのデータ構造を維持します。 財務チーム、業務部門、コンプライアンスグループは、請求書、ダッシュボード、規制当局への提出書類などに標準化されたテンプレートを使用していることが多く、データベース、API、またはインメモリコレクションからの新しいデータを組み込みながらも、そのデザインを維持する必要があります。
既存のテンプレートにプログラムで自動的に入力することで、書式設定作業にかかる時間を大幅に節約でき、生成されるすべての文書の一貫性を保証できます。 IronXLは、Officeのインストールを必要とせずにXLSX、XLS、XLSM、XLTX形式をサポートしているため、Microsoft Officeのインストールが非現実的または不可能なサーバー環境、Dockerコンテナ、クラウドパイプラインに適しています。
テンプレートベースのアプローチの主な利点:
-数式の保持-- 既存のSUM、AVERAGE、およびルックアップ数式は、データ書き込み後に自動的に再計算されます。 -スタイル保持- フォント、枠線、セルの色、数値形式は、デザインどおりに保持されます。 -条件付き書式設定- セル範囲に関連付けられたルールは、新しいデータ値に基づいて引き続き実行されます
- Officeへの依存なし-- IronXLはExcelファイルの読み書きをすべてマネージド.NETコードで行います -クロスプラットフォーム対応- Windows、Linux、macOS、および.NET 10環境で動作します

プロジェクトにIronXLをインストールするにはどうすればよいですか?
まず、 NuGetを使ってIronXL をインストールしてください。 パッケージマネージャーコンソールを開いて次を実行します:
Install-Package IronXL
Install-Package IronXL
または.NET CLIを使用します:
dotnet add package IronXL
dotnet add package IronXL

IronXLはMicrosoft Officeのインストールを必要とせず独立して動作するため、サーバー環境やクロスプラットフォームアプリケーションに最適です。 詳しい設定手順については、 IronXLの入門ガイドをご覧ください。 このライブラリは、Windows、Linux、macOS上で動作する.NET Framework、 .NET Core、および.NET 5から.NET 10を対象としています。
インストール後、ファイルの先頭に名前空間を追加してください。
using IronXL;
using IronXL;
Imports IronXL

既存のExcelテンプレートを読み込んでデータを入力するにはどうすればよいですか?
IronXLのWorkBook.Load()メソッドを使えば、既存のテンプレートを簡単に読み込むことができます。 以下の例では、四半期売上レポートのテンプレートを開き、トップレベルのステートメントを使用して特定のセルにデータを入力します。
using IronXL;
// Load the existing Excel template
WorkBook workbook = WorkBook.Load("ReportTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Write header values to named cells
sheet["B2"].Value = "Q4 2025 Sales Report";
sheet["C4"].StringValue = DateTime.Now.ToString("MMMM dd, yyyy");
sheet["C6"].DecimalValue = 125000.50m;
sheet["C7"].DecimalValue = 98500.75m;
// Add a profit formula -- Excel recalculates automatically
sheet["C8"].Formula = "=C6-C7";
// Populate a column range with monthly data
decimal[] monthlyData = { 10500, 12300, 15600, 11200 };
for (int i = 0; i < monthlyData.Length; i++)
{
sheet[$"E{10 + i}"].DecimalValue = monthlyData[i];
}
// Save the populated file
workbook.SaveAs("Q4_Sales_Report.xlsx");
using IronXL;
// Load the existing Excel template
WorkBook workbook = WorkBook.Load("ReportTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Write header values to named cells
sheet["B2"].Value = "Q4 2025 Sales Report";
sheet["C4"].StringValue = DateTime.Now.ToString("MMMM dd, yyyy");
sheet["C6"].DecimalValue = 125000.50m;
sheet["C7"].DecimalValue = 98500.75m;
// Add a profit formula -- Excel recalculates automatically
sheet["C8"].Formula = "=C6-C7";
// Populate a column range with monthly data
decimal[] monthlyData = { 10500, 12300, 15600, 11200 };
for (int i = 0; i < monthlyData.Length; i++)
{
sheet[$"E{10 + i}"].DecimalValue = monthlyData[i];
}
// Save the populated file
workbook.SaveAs("Q4_Sales_Report.xlsx");
Imports IronXL
' Load the existing Excel template
Dim workbook As WorkBook = WorkBook.Load("ReportTemplate.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
' Write header values to named cells
sheet("B2").Value = "Q4 2025 Sales Report"
sheet("C4").StringValue = DateTime.Now.ToString("MMMM dd, yyyy")
sheet("C6").DecimalValue = 125000.50D
sheet("C7").DecimalValue = 98500.75D
' Add a profit formula -- Excel recalculates automatically
sheet("C8").Formula = "=C6-C7"
' Populate a column range with monthly data
Dim monthlyData As Decimal() = {10500D, 12300D, 15600D, 11200D}
For i As Integer = 0 To monthlyData.Length - 1
sheet($"E{10 + i}").DecimalValue = monthlyData(i)
Next
' Save the populated file
workbook.SaveAs("Q4_Sales_Report.xlsx")
このコードは、あらかじめデザインされたテンプレートを読み込み、既存の書式設定をすべて維持し、特定のセルにデータを入力します。 DecimalValueプロパティは、数値データが適切な通貨形式または小数点形式を保持することを保証します。 数式セルは隣接するデータが変更されると自動的に再計算されるため、テンプレートの計算ロジックはそのまま維持されます。
Excelのセル参照とセル範囲の操作方法については、 IronXLのセルとセル範囲に関するドキュメントを参照してください。 IronXLのサンプルページを利用して、その他のパターンも確認することもできます。
入力

出力

テンプレート内のプレースホルダーマーカーを置き換えるにはどうすればよいですか?
多くのテンプレートでは、プレースホルダーテキストマーカー(例:{{CustomerName}} または {{InvoiceDate}})が使用されていますが、これらは実際の実行時値に置き換える必要があります。 IronXLは、定義された範囲でセルを反復処理することでこれを処理します。 このパターンは、請求書の作成、契約書の作成、およびパーソナライズされたレポートの作成に特に役立ちます。
using IronXL;
// Load an invoice template containing placeholder markers
WorkBook workbook = WorkBook.Load("InvoiceTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Iterate over a range and replace placeholder text
foreach (var cell in sheet["A1:H50"])
{
if (cell.Text.Contains("{{CustomerName}}"))
cell.Value = cell.Text.Replace("{{CustomerName}}", "Acme Corporation");
if (cell.Text.Contains("{{InvoiceDate}}"))
cell.Value = cell.Text.Replace("{{InvoiceDate}}", DateTime.Now.ToShortDateString());
if (cell.Text.Contains("{{InvoiceNumber}}"))
cell.Value = cell.Text.Replace("{{InvoiceNumber}}", "INV-2025-001");
}
// Append line items starting at row 15
var items = new[]
{
new { Description = "Software License", Qty = 5, Price = 299.99 },
new { Description = "Support Package", Qty = 1, Price = 999.99 }
};
int startRow = 15;
foreach (var item in items)
{
sheet[$"B{startRow}"].Value = item.Description;
sheet[$"E{startRow}"].IntValue = item.Qty;
sheet[$"F{startRow}"].DoubleValue = item.Price;
sheet[$"G{startRow}"].Formula = $"=E{startRow}*F{startRow}";
startRow++;
}
workbook.SaveAs("GeneratedInvoice.xlsx");
using IronXL;
// Load an invoice template containing placeholder markers
WorkBook workbook = WorkBook.Load("InvoiceTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Iterate over a range and replace placeholder text
foreach (var cell in sheet["A1:H50"])
{
if (cell.Text.Contains("{{CustomerName}}"))
cell.Value = cell.Text.Replace("{{CustomerName}}", "Acme Corporation");
if (cell.Text.Contains("{{InvoiceDate}}"))
cell.Value = cell.Text.Replace("{{InvoiceDate}}", DateTime.Now.ToShortDateString());
if (cell.Text.Contains("{{InvoiceNumber}}"))
cell.Value = cell.Text.Replace("{{InvoiceNumber}}", "INV-2025-001");
}
// Append line items starting at row 15
var items = new[]
{
new { Description = "Software License", Qty = 5, Price = 299.99 },
new { Description = "Support Package", Qty = 1, Price = 999.99 }
};
int startRow = 15;
foreach (var item in items)
{
sheet[$"B{startRow}"].Value = item.Description;
sheet[$"E{startRow}"].IntValue = item.Qty;
sheet[$"F{startRow}"].DoubleValue = item.Price;
sheet[$"G{startRow}"].Formula = $"=E{startRow}*F{startRow}";
startRow++;
}
workbook.SaveAs("GeneratedInvoice.xlsx");
Imports IronXL
' Load an invoice template containing placeholder markers
Dim workbook As WorkBook = WorkBook.Load("InvoiceTemplate.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
' Iterate over a range and replace placeholder text
For Each cell In sheet("A1:H50")
If cell.Text.Contains("{{CustomerName}}") Then
cell.Value = cell.Text.Replace("{{CustomerName}}", "Acme Corporation")
End If
If cell.Text.Contains("{{InvoiceDate}}") Then
cell.Value = cell.Text.Replace("{{InvoiceDate}}", DateTime.Now.ToShortDateString())
End If
If cell.Text.Contains("{{InvoiceNumber}}") Then
cell.Value = cell.Text.Replace("{{InvoiceNumber}}", "INV-2025-001")
End If
Next
' Append line items starting at row 15
Dim items = {
New With {.Description = "Software License", .Qty = 5, .Price = 299.99},
New With {.Description = "Support Package", .Qty = 1, .Price = 999.99}
}
Dim startRow As Integer = 15
For Each item In items
sheet($"B{startRow}").Value = item.Description
sheet($"E{startRow}").IntValue = item.Qty
sheet($"F{startRow}").DoubleValue = item.Price
sheet($"G{startRow}").Formula = $"=E{startRow}*F{startRow}"
startRow += 1
Next
workbook.SaveAs("GeneratedInvoice.xlsx")
この手法では、定義されたセル範囲内のマーカーを検索し、実際の値に置き換えます。 テンプレートの書式設定(フォント、色、枠線、数値形式など)は、全体を通してそのまま維持されます。 実行時にさらに高度なスタイル変更を行うには、背景色、フォントプロパティ、境界線スタイルなどを網羅したIronXLセルスタイルガイドを参照してください。
反復処理に適したセル範囲はどのように選択すればよいですか?
プレースホルダーを見つけるために反復処理を行う際は、マーカーを含むすべてのセルを網羅しつつ、不必要に大きくならない範囲を選択してください。 "A1:H50" のような範囲指定は、ほとんどの請求書テンプレートで効率的です。 データが数百行にわたって分散しているテンプレートの場合は、反復処理をヘッダーセクションに限定し、データ本体にはセルを直接指定してください。 これにより、大規模なワークブックでもパフォーマンスを予測可能なものに維持できます。
プレースホルダーが欠落している場合や、プレースホルダーが一致しない場合は、どのように対処しますか?
テンプレートのバージョンが異なる場合に例外が発生しないように、.Replace() を呼び出す前に null または空のチェックを追加してください。 デバッグのために、未解決のプレースホルダーをログに記録できます。
using IronXL;
WorkBook workbook = WorkBook.Load("InvoiceTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
var replacements = new Dictionary<string, string>
{
{ "{{CustomerName}}", "Acme Corporation" },
{ "{{InvoiceDate}}", DateTime.Now.ToShortDateString() },
{ "{{InvoiceNumber}}", "INV-2025-002" }
};
foreach (var cell in sheet["A1:H50"])
{
if (string.IsNullOrEmpty(cell.Text)) continue;
foreach (var replacement in replacements)
{
if (cell.Text.Contains(replacement.Key))
cell.Value = cell.Text.Replace(replacement.Key, replacement.Value);
}
}
workbook.SaveAs("GeneratedInvoice_Safe.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Load("InvoiceTemplate.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
var replacements = new Dictionary<string, string>
{
{ "{{CustomerName}}", "Acme Corporation" },
{ "{{InvoiceDate}}", DateTime.Now.ToShortDateString() },
{ "{{InvoiceNumber}}", "INV-2025-002" }
};
foreach (var cell in sheet["A1:H50"])
{
if (string.IsNullOrEmpty(cell.Text)) continue;
foreach (var replacement in replacements)
{
if (cell.Text.Contains(replacement.Key))
cell.Value = cell.Text.Replace(replacement.Key, replacement.Value);
}
}
workbook.SaveAs("GeneratedInvoice_Safe.xlsx");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Load("InvoiceTemplate.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
Dim replacements As New Dictionary(Of String, String) From {
{"{{CustomerName}}", "Acme Corporation"},
{"{{InvoiceDate}}", DateTime.Now.ToShortDateString()},
{"{{InvoiceNumber}}", "INV-2025-002"}
}
For Each cell In sheet("A1:H50")
If String.IsNullOrEmpty(cell.Text) Then Continue For
For Each replacement In replacements
If cell.Text.Contains(replacement.Key) Then
cell.Value = cell.Text.Replace(replacement.Key, replacement.Value)
End If
Next
Next
workbook.SaveAs("GeneratedInvoice_Safe.xlsx")
置換辞書を使用することで、テンプレートに新しいプレースホルダー型が追加された際に、コードの保守や拡張が容易になります。
テンプレートから月次レポートを作成するにはどうすればよいですか?
以下は、あらかじめ書式設定されたセル、グラフ、およびパーセンテージ計算式を含む既存のExcelテンプレートから月次売上レポートを生成する実際の例です。 このコードはトップレベルのステートメントを使用し、製品と売上のマッピングを格納した辞書を受け取ります。
using IronXL;
// Load the monthly report template
WorkBook workbook = WorkBook.Load("MonthlyReportTemplate.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Monthly Report");
// Build sample sales data
var salesData = new Dictionary<string, decimal>
{
{ "Product A", 42500.00m },
{ "Product B", 31750.50m },
{ "Product C", 18300.25m }
};
// Write report header
sheet["B2"].Value = $"Sales Report - {DateTime.Now:MMMM yyyy}";
sheet["B3"].Value = $"Generated: {DateTime.Now:g}";
// Write each product row starting at row 6
int currentRow = 6;
decimal totalSales = salesData.Values.Sum();
foreach (var sale in salesData)
{
sheet[$"B{currentRow}"].Value = sale.Key;
sheet[$"C{currentRow}"].DecimalValue = sale.Value;
// Percentage of total formula
sheet[$"D{currentRow}"].Formula = $"=C{currentRow}/C{currentRow + salesData.Count}*100";
currentRow++;
}
// Write the total row and apply bold style
sheet[$"C{currentRow}"].DecimalValue = totalSales;
sheet[$"C{currentRow}"].Style.Font.Bold = true;
// Save with a date-stamped filename
string outputPath = $"Reports/Monthly_Report_{DateTime.Now:yyyyMMdd}.xlsx";
workbook.SaveAs(outputPath);
using IronXL;
// Load the monthly report template
WorkBook workbook = WorkBook.Load("MonthlyReportTemplate.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Monthly Report");
// Build sample sales data
var salesData = new Dictionary<string, decimal>
{
{ "Product A", 42500.00m },
{ "Product B", 31750.50m },
{ "Product C", 18300.25m }
};
// Write report header
sheet["B2"].Value = $"Sales Report - {DateTime.Now:MMMM yyyy}";
sheet["B3"].Value = $"Generated: {DateTime.Now:g}";
// Write each product row starting at row 6
int currentRow = 6;
decimal totalSales = salesData.Values.Sum();
foreach (var sale in salesData)
{
sheet[$"B{currentRow}"].Value = sale.Key;
sheet[$"C{currentRow}"].DecimalValue = sale.Value;
// Percentage of total formula
sheet[$"D{currentRow}"].Formula = $"=C{currentRow}/C{currentRow + salesData.Count}*100";
currentRow++;
}
// Write the total row and apply bold style
sheet[$"C{currentRow}"].DecimalValue = totalSales;
sheet[$"C{currentRow}"].Style.Font.Bold = true;
// Save with a date-stamped filename
string outputPath = $"Reports/Monthly_Report_{DateTime.Now:yyyyMMdd}.xlsx";
workbook.SaveAs(outputPath);
Imports IronXL
' Load the monthly report template
Dim workbook As WorkBook = WorkBook.Load("MonthlyReportTemplate.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("Monthly Report")
' Build sample sales data
Dim salesData As New Dictionary(Of String, Decimal) From {
{"Product A", 42500.0D},
{"Product B", 31750.5D},
{"Product C", 18300.25D}
}
' Write report header
sheet("B2").Value = $"Sales Report - {DateTime.Now:MMMM yyyy}"
sheet("B3").Value = $"Generated: {DateTime.Now:g}"
' Write each product row starting at row 6
Dim currentRow As Integer = 6
Dim totalSales As Decimal = salesData.Values.Sum()
For Each sale In salesData
sheet($"B{currentRow}").Value = sale.Key
sheet($"C{currentRow}").DecimalValue = sale.Value
' Percentage of total formula
sheet($"D{currentRow}").Formula = $"=C{currentRow}/C{currentRow + salesData.Count}*100"
currentRow += 1
Next
' Write the total row and apply bold style
sheet($"C{currentRow}").DecimalValue = totalSales
sheet($"C{currentRow}").Style.Font.Bold = True
' Save with a date-stamped filename
Dim outputPath As String = $"Reports/Monthly_Report_{DateTime.Now:yyyyMMdd}.xlsx"
workbook.SaveAs(outputPath)
この方法は、標準化されたテンプレートにデータを入力し、貢献率を自動的に計算し、テンプレートのProfessional外観を維持します。 テンプレート内の既存のグラフは、データソースの範囲が変更されないため、新しいデータ値に基づいて更新されます。
DataTable または DataSet からデータを転送する場合、列名を保持し、最初の行をヘッダーとして扱います。 DataTable オブジェクトからのインポートの詳細については、 IronXL DataTable のドキュメントを参照してください。
入力

出力

よくあるテンプレートエラーのトラブルシューティング方法を教えてください
テンプレートを使用する際には、いくつかの問題が頻繁に発生します。 以下の表は、各症状とその原因および解決策を示しています。
| 症状 | 考えられる原因 | 解決 |
|---|---|---|
| 読み込み時に FileNotFoundException が発生しました | ファイルパスまたは作業ディレクトリが正しくありません。 | 信頼性の高いパスを取得するには、 `Path.Combine(AppContext.BaseDirectory, "template.xlsx")`を使用してください。 |
| 古い値を示す数式 | 書き込み後に自動計算がトリガーされない | 保存する前に、 `sheet.Calculate()`を呼び出してください。 |
| パスワードで保護されたテンプレートが開けません | テンプレートにワークブックまたはシートのパスワードがあります | パスワードを渡します: `WorkBook.Load("template.xlsx", "password")` |
| 大容量データでメモリ使用量が多い | 書き込み中はワークブック全体がメモリに保持されます | ストリーミングを使用して`workbook.SaveAs()`の保存メソッドを呼び出し、保存後にワークブックを破棄してください。 |
| 書き込み後にセルの書式設定が失われる | セルスタイルオブジェクトを直接上書きする | 値/数式のみを設定してください。スタイルオブジェクト全体を置き換えることは避けてください。 |
| チャートデータが更新されない | チャートのソース範囲外に書き込む | データ行が、グラフのフィードとなる名前付き範囲またはテーブル内に収まっていることを確認してください。 |
パスワードで保護されたファイルの場合は、パスワードを WorkBook.Load の 2 番目の引数として指定します。 データが書き込まれた後に数式が更新されない場合は、workbook.SaveAs() を呼び出す前に sheet.Calculate() を呼び出してください。 大規模なデータセットの場合は、保存後にワークブックオブジェクトを破棄して、マネージドメモリとアンマネージドメモリを速やかに解放してください。
トラブルシューティングに関するその他のリソースは、 IronXLのトラブルシューティングドキュメントおよびIronXL APIリファレンスに記載されています。
IronXLは他にどのようなExcel操作をサポートしていますか?
テンプレートへのデータ入力に加え、 IronXLは上記ワークフローを補完する幅広いExcel操作機能を提供します。
- Excelファイルの読み込み-- 既存のワークブックからデータを抽出し、C#オブジェクト、リスト、またはデータテーブルに格納します。
- Excel ファイルをゼロから作成する-- レイアウトを完全に制御する必要がある場合は、テンプレートを使用せずに新しいワークブックを生成します
- DataTableをExcelにエクスポート-- .NET DataTableオブジェクトをワークシートの行に直接変換します -セルスタイルを適用する-- 背景色、フォントの太さ、罫線、数値形式をプログラムで設定する
- Excelの数式を操作する-- SUM、VLOOKUP、条件付き数式などの数式文字列を作成および評価する -セルの結合-- ヘッダーとレポートレイアウトのセル範囲を結合および結合解除します -ワークシートを保護する-- セルまたはシートをロックして、テンプレート構造の誤編集を防ぎます
- PDFに変換-- 入力済みのテンプレートをExcelを使用せずに直接PDFにレンダリングして配布します。
- CSV形式でエクスポート-- ワークシートデータをカンマ区切り値として保存し、後続の処理に利用します
これらの機能はテンプレートへのデータ入力と連携して動作するため、単一のワークフローでテンプレートの読み込み、データ入力、機密性の高い数式セルの保護、そしてXLSXファイルとPDFファイルの両方のエクスポートを一度に行うことができます。
IronXLはXMLなどの他のデータ交換フォーマットともスムーズに連携するため、構造化データをインポート、変換し、結果をテンプレートとしてエクスポートすることが可能です。 データベース駆動型レポート生成とのより高度な連携については、 IronXLブログのコミュニティチュートリアルを参照してください。

IronXLを本番環境で使い始めるにはどうすればよいですか?
IronXLは開発およびテスト目的では無料で利用できます。 導入準備が整ったら、個人開発者、チーム、OEM再配布に対応した柔軟なライセンスオプションからお選びください。 プロジェクトに最適なオプションを見つけるには、 IronXLのライセンスページをご覧ください。
すぐに始めるには、無料トライアル版をダウンロードして、このチュートリアルのコード例を自分のテンプレートに対して実行してみてください。 IronXLのNuGetページには、バージョン履歴とパッケージの詳細が記載されています。 コミュニティでの議論やその他の事例は、 Iron SoftwareのGitHubリポジトリでご覧いただけます。 XLSXファイルの基盤となるOpen XMLファイル形式に関する背景情報については、 ECMA-376仕様の概要を参照してください。
IronXLと代替製品を比較検討している組織向けに、 IronXL比較ガイドでは、機能の違い、ライセンスモデル、パフォーマンスベンチマークなどを網羅しており、情報に基づいた意思決定を支援します。
よくある質問
C#で既存のExcelテンプレートにデータをエクスポートする方法を教えてください。
IronXLを使用すると、Microsoft Officeを使用することなく、C#で既存のExcelテンプレートにデータをエクスポートできます。IronXLを使用すると、Excelテンプレートの書式、数式、レイアウトを維持したまま、動的なデータを入力することができます。
IronXLをExcelテンプレートのエクスポートに使用する利点は何ですか?
IronXLは、Excel InteropやMicrosoft Officeに依存することなく、テンプレートの書式設定を保持し、データセットオブジェクトのようなさまざまなソースからのデータ挿入などの高度な機能を提供する高性能なソリューションを提供します。
IronXLを使用するにはMicrosoft Officeがインストールされている必要がありますか?
IronXLはMicrosoft Officeのインストールを必要としません。独立して動作するため、Officeに依存することなくExcelファイルやテンプレートを扱うことができます。
IronXLは数式を含む複雑なExcelテンプレートを処理可能であり、データをエクスポートした後も数式がそのまま機能します。
IronXLは数式を含む複雑なExcelテンプレートを扱うことができ、データをエクスポートする際に既存の機能やレイアウトを維持することができます。
IronXLはどのようなデータソースをExcelテンプレートにエクスポートできますか?
IronXLはデータセットオブジェクトを含む様々なソースからデータをエクスポートすることができ、Excelテンプレートに必要なデータを柔軟に入力することができます。
IronXLはどのようにワークフローの効率を改善しますか?
IronXLはOfficeに依存することなく既存のExcelテンプレートにシームレスにデータをエクスポートできるため、レポート作成プロセスを合理化し、時間とリソースを節約します。
IronXLはプロフェッショナルなExcelシートの出力に適していますか?
IronXLは、テンプレートの整合性を維持し、高品質のデータ統合を保証することで、プロフェッショナルなExcelシート出力を作成するように設計されています。



