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

Excel で相互運用性なしで C# を使ってピボット テーブルを作成する方法

ExcelでC#を使ってピボットテーブルを作成するのは、適切なライブラリを選べば簡単です。Excel InteropはすべてのマシンにOfficeが必要ですが、 IronXLは.NETが動作する環境であればどこでも動作します。このガイドでは、両方のアプローチを完全なコード例とともに解説し、セットアップ、データ集計、フィールド設定、デプロイメントの考慮事項などを網羅しています。これにより、プロジェクトに最適なライブラリを見つけることができます。

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 1 - IronXL

Excel Interop とIronXLの違いは何ですか?

コードを 1 行も書く前に、それぞれのアプローチが内部で何を行っているかを理解しておくと役立ちます。 Excel Interop はCOM (コンポーネント オブジェクト モデル)を使用して、C# から Microsoft Excel を直接駆動します。 .NETプロセスは実行中のExcelインスタンスと通信するため、Excel自体がマシンにインストールされている必要があります。操作するすべてのオブジェクト(ワークブック、ワークシート、範囲、ピボットキャッシュなど)はCOMラッパーであり、プロセスリークを回避するために、それぞれを明示的に解放する必要があります。

IronXL は根本的に異なる道を歩みます。 Excel を起動することなく、 Open XML ファイル形式を直接読み書きします。 その結果、使い慣れたオブジェクト パターン、ガベージ コレクションされたメモリを備え、Office のインストールやライセンスに依存しない標準 for .NETライブラリが実現しました。 このアーキテクチャにより、 IronXL はサーバー側のワークロード、Docker コンテナー、Linux ホスト、およびあらゆる.NET 6、 .NET 8、または.NET 10 環境に適しています。

Excel Interop とIronXLの比較
基準 Excel Interop IronXL
オフィス必須 はい なし
Windowsのみ はい いいえ -- クロスプラットフォーム
メモリ管理 手動COMリリース 自動(.NET GC)
サーバーの展開 難しい 率直な
ネイティブピボットテーブル 完全な Excel ピボット API LINQによるデータ集約
必要なライセンス オフィスライセンス IronXLライセンスのみ

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 2 - クロス プラットフォーム

各ライブラリをどのようにインストールしますか?

Excel 相互運用性の設定

Excel Interop はNuGetパッケージとして出荷されます。 プロジェクトで次のいずれかを実行します。

Install-Package Microsoft.Office.Interop.Excel
dotnet add package Microsoft.Office.Interop.Excel
Install-Package Microsoft.Office.Interop.Excel
dotnet add package Microsoft.Office.Interop.Excel
SHELL

パッケージだけでは不十分であることに注意してください。対象マシンに、対応するバージョンの Microsoft Excel がインストールされ、適切にライセンスされている必要があります。 この依存関係により、ほとんどのサーバー、コンテナー、およびクラウドのシナリオが除外されます。

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 3 - Excel Interop のインストール

IronXLの設定

追加のシステム要件なしでNuGet経由でIronXL をインストールします。

Install-Package IronXl.Excel
dotnet add package IronXl.Excel
Install-Package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

インストール後、 .NETをサポートするあらゆるプラットフォームですぐに Excel ファイルの読み取りと書き込みを開始できます。 Office ライセンス、COM 登録、サーバー構成は不要です。 オフライン インストールやプロジェクト参照のセットアップなどの追加オプションについては、 IronXLインストール ガイドを参照してください。

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 4 - インストール

今IronXLを始めましょう。
green arrow pointer

C# Interop を使用して Excel ピボット テーブルを作成するにはどうすればよいですか?

Interop ピボット テーブルのワークフローは、ソース範囲からピボット キャッシュを作成し、別のワークシートに PivotTable オブジェクトを構築し、フィールドの方向を構成するという厳密な順序に従います。 以下の例では、 .NET 10 と互換性のある最上位レベルの C# ステートメントを使用しています。

using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

// Launch Excel and set up workbooks
var excelApp = new Excel.Application();
excelApp.Visible = false;
var workbook = excelApp.Workbooks.Add();
var dataSheet = (Excel.Worksheet)workbook.Worksheets[1];
dataSheet.Name = "SalesData";
var pivotSheet = (Excel.Worksheet)workbook.Worksheets.Add();
pivotSheet.Name = "Pivot";

// Populate header row
dataSheet.Cells[1, 1] = "Product";
dataSheet.Cells[1, 2] = "Region";
dataSheet.Cells[1, 3] = "Sales";

// Add sample data rows
object[,] rows = {
    { "Laptop",   "なしrth", 1200 },
    { "Laptop",   "South", 1500 },
    { "Phone",    "なしrth",  800 },
    { "Phone",    "South",  950 },
    { "Tablet",   "East",   600 },
    { "Tablet",   "West",   750 },
    { "Monitor",  "なしrth",  400 },
    { "Monitor",  "South",  500 },
    { "Keyboard", "East",   300 },
};
for (int i = 0; i < rows.GetLength(0); i++)
{
    dataSheet.Cells[i + 2, 1] = rows[i, 0];
    dataSheet.Cells[i + 2, 2] = rows[i, 1];
    dataSheet.Cells[i + 2, 3] = rows[i, 2];
}

// Build pivot cache from source range
Excel.Range dataRange = dataSheet.Range["A1:C10"];
Excel.PivotCache pivotCache = workbook.PivotCaches().Create(
    Excel.XlPivotTableSourceType.xlDatabase, dataRange);

// Create the PivotTable on the pivot sheet
Excel.PivotTables pivotTables = (Excel.PivotTables)pivotSheet.PivotTables();
Excel.PivotTable pivotTable = pivotTables.Add(
    pivotCache, pivotSheet.Range["A3"], "SalesPivot");

// Assign field orientations
((Excel.PivotField)pivotTable.PivotFields("Product")).Orientation =
    Excel.XlPivotFieldOrientation.xlRowField;
((Excel.PivotField)pivotTable.PivotFields("Region")).Orientation =
    Excel.XlPivotFieldOrientation.xlColumnField;
((Excel.PivotField)pivotTable.PivotFields("Sales")).Orientation =
    Excel.XlPivotFieldOrientation.xlDataField;

// Enable grand totals
pivotTable.RowGrand = true;
pivotTable.ColumnGrand = true;

// Save and close
workbook.SaveAs(@"C:\output\pivot_interop.xlsx");
workbook.Close(false);
excelApp.Quit();

// Release every COM object -- skipping any of these causes Excel to stay in memory
Marshal.ReleaseComObject(pivotTable);
Marshal.ReleaseComObject(pivotTables);
Marshal.ReleaseComObject(pivotCache);
Marshal.ReleaseComObject(dataRange);
Marshal.ReleaseComObject(pivotSheet);
Marshal.ReleaseComObject(dataSheet);
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(excelApp);
using Excel = Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

// Launch Excel and set up workbooks
var excelApp = new Excel.Application();
excelApp.Visible = false;
var workbook = excelApp.Workbooks.Add();
var dataSheet = (Excel.Worksheet)workbook.Worksheets[1];
dataSheet.Name = "SalesData";
var pivotSheet = (Excel.Worksheet)workbook.Worksheets.Add();
pivotSheet.Name = "Pivot";

// Populate header row
dataSheet.Cells[1, 1] = "Product";
dataSheet.Cells[1, 2] = "Region";
dataSheet.Cells[1, 3] = "Sales";

// Add sample data rows
object[,] rows = {
    { "Laptop",   "なしrth", 1200 },
    { "Laptop",   "South", 1500 },
    { "Phone",    "なしrth",  800 },
    { "Phone",    "South",  950 },
    { "Tablet",   "East",   600 },
    { "Tablet",   "West",   750 },
    { "Monitor",  "なしrth",  400 },
    { "Monitor",  "South",  500 },
    { "Keyboard", "East",   300 },
};
for (int i = 0; i < rows.GetLength(0); i++)
{
    dataSheet.Cells[i + 2, 1] = rows[i, 0];
    dataSheet.Cells[i + 2, 2] = rows[i, 1];
    dataSheet.Cells[i + 2, 3] = rows[i, 2];
}

// Build pivot cache from source range
Excel.Range dataRange = dataSheet.Range["A1:C10"];
Excel.PivotCache pivotCache = workbook.PivotCaches().Create(
    Excel.XlPivotTableSourceType.xlDatabase, dataRange);

// Create the PivotTable on the pivot sheet
Excel.PivotTables pivotTables = (Excel.PivotTables)pivotSheet.PivotTables();
Excel.PivotTable pivotTable = pivotTables.Add(
    pivotCache, pivotSheet.Range["A3"], "SalesPivot");

// Assign field orientations
((Excel.PivotField)pivotTable.PivotFields("Product")).Orientation =
    Excel.XlPivotFieldOrientation.xlRowField;
((Excel.PivotField)pivotTable.PivotFields("Region")).Orientation =
    Excel.XlPivotFieldOrientation.xlColumnField;
((Excel.PivotField)pivotTable.PivotFields("Sales")).Orientation =
    Excel.XlPivotFieldOrientation.xlDataField;

// Enable grand totals
pivotTable.RowGrand = true;
pivotTable.ColumnGrand = true;

// Save and close
workbook.SaveAs(@"C:\output\pivot_interop.xlsx");
workbook.Close(false);
excelApp.Quit();

// Release every COM object -- skipping any of these causes Excel to stay in memory
Marshal.ReleaseComObject(pivotTable);
Marshal.ReleaseComObject(pivotTables);
Marshal.ReleaseComObject(pivotCache);
Marshal.ReleaseComObject(dataRange);
Marshal.ReleaseComObject(pivotSheet);
Marshal.ReleaseComObject(dataSheet);
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(excelApp);
$vbLabelText   $csharpLabel

すべての COM ラッパーには、一致する Marshal.ReleaseComObject 呼び出しが必要です。 参照が 1 つでも欠けていると、Excel プロセスがバックグラウンドで継続され、ホスト プロセスが終了するまでメモリとファイル ハンドルが消費されます。 このクリーンアップの負担は、スプレッドシート操作の複雑さに応じて増大します。

IronXLで同じ結果を達成するにはどうすればよいでしょうか?

IronXL は、Interop と同じ方法ではネイティブ ピボット テーブル API を公開しません。Open XML ピボット形式には何百もの XML 属性があり、ほとんどのビジネス要件は、プレーン C# で記述された明示的な LINQ 集計によってより確実に満たされます。 出力は、Excel に依存してピボット キャッシュを更新することなく、ファイルを開いたときに正しく再計算されるクリーンな概要シートです。

using IronXL;
using System.Data;

// Create workbook and populate source data
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet dataSheet = workbook.CreateWorkSheet("SalesData");

dataSheet["A1"].Value = "Product";
dataSheet["B1"].Value = "Region";
dataSheet["C1"].Value = "Sales";

object[,] rows = {
    { "Laptop",   "なしrth", 1200 },
    { "Laptop",   "South", 1500 },
    { "Phone",    "なしrth",  800 },
    { "Phone",    "South",  950 },
    { "Tablet",   "East",   600 },
    { "Tablet",   "West",   750 },
    { "Monitor",  "なしrth",  400 },
    { "Monitor",  "South",  500 },
    { "Keyboard", "East",   300 },
};
for (int i = 0; i < rows.GetLength(0); i++)
{
    dataSheet[$"A{i + 2}"].Value = rows[i, 0];
    dataSheet[$"B{i + 2}"].Value = rows[i, 1];
    dataSheet[$"C{i + 2}"].Value = rows[i, 2];
}

// Aggregate data with LINQ -- equivalent to a pivot table row/column/value layout
DataTable table = dataSheet["A1:C10"].ToDataTable(true);
var summary = table.AsEnumerable()
    .GroupBy(row => row.Field<string>("Product"))
    .Select((group, idx) => new
    {
        Product    = group.Key,
        TotalSales = group.Sum(r => Convert.ToDecimal(r["Sales"])),
        RegionCount = group.Select(r => r.Field<string>("Region")).Distinct().Count(),
        RowIndex   = idx + 2
    })
    .OrderByDescending(x => x.TotalSales);

// Write the summary sheet
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet["A1"].Value = "Product";
summarySheet["B1"].Value = "Total Sales";
summarySheet["C1"].Value = "Regions";

foreach (var item in summary)
{
    summarySheet[$"A{item.RowIndex}"].Value = item.Product;
    summarySheet[$"B{item.RowIndex}"].Value = (double)item.TotalSales;
    summarySheet[$"C{item.RowIndex}"].Value = item.RegionCount;
}

// Apply currency format to the sales column
summarySheet["B:B"].FormatString = "$#,##0.00";

// Bold the header row
summarySheet["A1:C1"].Style.Font.Bold = true;

// Save -- no COM cleanup needed
workbook.SaveAs(@"C:\output\analysis_ironxl.xlsx");
using IronXL;
using System.Data;

// Create workbook and populate source data
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet dataSheet = workbook.CreateWorkSheet("SalesData");

dataSheet["A1"].Value = "Product";
dataSheet["B1"].Value = "Region";
dataSheet["C1"].Value = "Sales";

object[,] rows = {
    { "Laptop",   "なしrth", 1200 },
    { "Laptop",   "South", 1500 },
    { "Phone",    "なしrth",  800 },
    { "Phone",    "South",  950 },
    { "Tablet",   "East",   600 },
    { "Tablet",   "West",   750 },
    { "Monitor",  "なしrth",  400 },
    { "Monitor",  "South",  500 },
    { "Keyboard", "East",   300 },
};
for (int i = 0; i < rows.GetLength(0); i++)
{
    dataSheet[$"A{i + 2}"].Value = rows[i, 0];
    dataSheet[$"B{i + 2}"].Value = rows[i, 1];
    dataSheet[$"C{i + 2}"].Value = rows[i, 2];
}

// Aggregate data with LINQ -- equivalent to a pivot table row/column/value layout
DataTable table = dataSheet["A1:C10"].ToDataTable(true);
var summary = table.AsEnumerable()
    .GroupBy(row => row.Field<string>("Product"))
    .Select((group, idx) => new
    {
        Product    = group.Key,
        TotalSales = group.Sum(r => Convert.ToDecimal(r["Sales"])),
        RegionCount = group.Select(r => r.Field<string>("Region")).Distinct().Count(),
        RowIndex   = idx + 2
    })
    .OrderByDescending(x => x.TotalSales);

// Write the summary sheet
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");
summarySheet["A1"].Value = "Product";
summarySheet["B1"].Value = "Total Sales";
summarySheet["C1"].Value = "Regions";

foreach (var item in summary)
{
    summarySheet[$"A{item.RowIndex}"].Value = item.Product;
    summarySheet[$"B{item.RowIndex}"].Value = (double)item.TotalSales;
    summarySheet[$"C{item.RowIndex}"].Value = item.RegionCount;
}

// Apply currency format to the sales column
summarySheet["B:B"].FormatString = "$#,##0.00";

// Bold the header row
summarySheet["A1:C1"].Style.Font.Bold = true;

// Save -- no COM cleanup needed
workbook.SaveAs(@"C:\output\analysis_ironxl.xlsx");
$vbLabelText   $csharpLabel

解放する COM オブジェクトはなく、終了する Excel プロセスはなく、管理する Office ライセンスもありません。 同じコードを変更せずに Linux、macOS、Windows でコンパイルして実行できます。 集計 API の詳細については、 IronXL WorkSheet のドキュメントをご覧ください。

出力

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 6 - IronXL出力

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 7 - 概要出力

導入と保守における主な違いは何ですか?

配備要件

相互運用性ベースのアプリケーションを展開するには、ターゲット環境で Windows が実行されていること、正しいバージョンの Office がインストールされていること、およびサーバー上で COM オートメーションのアクセス許可が構成されていることを確認する必要があります。 クラウド ホスト環境とコンテナー化されたワークロードでは、通常、仮想化された Windows デスクトップ インフラストラクチャを追加しなければこれらの要件を満たすことができず、コストと運用の複雑さが大幅に増加します。

IronXL にはそのような制約はありません。 NuGetパッケージを追加し、ターゲット フレームワークを.NET 6 以降に設定すると、アプリケーションは Linux コンテナー、Azure App Service on Linux、AWS Lambda、オンプレミスの Windows サーバーなどの任意のホストにデプロイされます。 IronXLシステム要件ページには、完全な互換性マトリックスがリストされています。

エラーハンドリングとデバッグ

相互運用性の障害は、ユーザーに表示されるメッセージにマッピングするのが難しい COM 例外 (COMException) として現れます。 インストールされている Office バージョンと Interop アセンブリ間のバージョンの不一致により、別の障害モードが発生します。 これらの問題をデバッグするには、通常、開発マシン上で正確な Office バージョンを再現する必要があります。

IronXL は説明的なメッセージとともに標準の System.Exception サブクラスをスローします。 ファイル操作を try-catch ブロックでラップし、COM エラー コードを理解せずに有意義なフィードバックを提示できます。 IronXLトラブルシューティング ガイドでは、一般的な例外とその解決策について説明します。

メモリとパフォーマンス

COM オブジェクトは管理されていないメモリを保持します。 コードが多数のワークシートを処理したり、ループで実行されたりする場合、各参照を正しく解放しないと、時間の経過とともにメモリが増加します。これは、実稼働環境で問題が発生するまで検出が困難な問題です。 Interop は単一の Excel ウィンドウを駆動するため、本質的にシングル スレッドです。

IronXL は、 .NETガベージ コレクターによってサポートされる管理オブジェクトを使用します。 オブジェクトがスコープ外になると、メモリは自動的に再利用されます。 ロックで保護する共有 COM 状態がないため、複数のワークブックを並列に処理するのは簡単です。

2 つのアプローチのどちらを選択するか?

適切なツールは、コードが実行される場所と、ネイティブのピボット テーブル XML が必要かどうかという 2 つの制約によって決まります。

Excel Interop を選ぶとき:

  • ワークロードは、Office が既にインストールされている Windows デスクトップ マシンでのみ実行されます。
  • 出力ファイルには、ネイティブのピボットテーブル形式(スライサー、グループ化された日付フィールド、計算項目)が正確に設定されている必要があります。
  • 既存の相互運用コードベースを維持しており、完全な書き換えは正当化されない

IronXL を選ぶとき:

  • アプリケーションはサーバー、コンテナ、またはクラウド機能上で実行されます
  • クロスプラットフォームまたはLinux展開が必要です
  • Excelプロセスに依存せず、ユニットテストでテスト可能なデータ集計ロジックが必要です
  • Excelファイルを大規模または並列に処理する必要がある

ほとんどの新しい.NET 10 プロジェクトでは、 IronXLが実質的にデフォルトになります。 IronXLライブラリは、 C# での Excel ファイルの読み取りグラフの作成セル スタイルの適用数式の操作Excel データの DataTable へのエクスポートもカバーしているため、スタック内に複数のライブラリが必要になることが少なくなります。

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 8 - 機能

データ分析をサポートする追加のIronXL機能は何ですか?

基本的な集計機能以外にも、 IronXL はより豊富なデータ分析ワークフローをサポートするいくつかの機能を提供します。

データの並べ替えとフィルタリング

要約シートを作成する前に、範囲を昇順または降順に並べ替えることができます。 これにより、出力では常に一貫した順序でデータが表示されるようになり、下流の処理がより予測可能になります。 範囲レベルの並べ替えオプションについては、 IronXL並べ替えのドキュメントを参照してください。

条件付き書式の適用

条件付き書式ルールをプログラムで適用して、外れ値またはしきい値を強調表示します。 たとえば、売上が目標値を下回ったときに概要シートのセルの色を赤くすることで、エンドユーザーが手動でルールを設定しなくても一目でわかるビューを提供できます。

既存のExcelファイルの読み取り

ソース データがデータベースではなく既存のスプレッドシートから取得される場合は、WorkBook.Load を使用して直接ロードできます。

using IronXL;

WorkBook existing = WorkBook.Load(@"C:\data\sales_report.xlsx");
WorkSheet sheet = existing.WorkSheets[0];

// Read column C starting at row 2
var salesValues = sheet["C2:C100"]
    .Where(cell => cell.Value != null && cell.Value.ToString() != string.Empty)
    .Select(cell => cell.DecimalValue)
    .ToList();

decimal total = salesValues.Sum();
Console.WriteLine($"Total sales from file: {total:C}");
using IronXL;

WorkBook existing = WorkBook.Load(@"C:\data\sales_report.xlsx");
WorkSheet sheet = existing.WorkSheets[0];

// Read column C starting at row 2
var salesValues = sheet["C2:C100"]
    .Where(cell => cell.Value != null && cell.Value.ToString() != string.Empty)
    .Select(cell => cell.DecimalValue)
    .ToList();

decimal total = salesValues.Sum();
Console.WriteLine($"Total sales from file: {total:C}");
$vbLabelText   $csharpLabel

このパターンは、.csv、およびIronXLでサポートされているその他の形式で機能します。 サポートされている形式の詳細については、 IronXLファイル形式のドキュメントに記載されています。

CSVへのエクスポート

概要ワークシートを作成したら、Excel を受け入れない下流のシステム用に CSV にエクスポートできます。

workbook.SaveAsCsv(@"C:\output\summary.csv");
workbook.SaveAsCsv(@"C:\output\summary.csv");
$vbLabelText   $csharpLabel

これは、最終的なコンシューマーがデータベース インポート ツールまたはデータ ウェアハウス ローダーである ETL パイプラインで特に役立ちます。

IronXLを無料で始めるにはどうすればいいですか?

IronXL は、サブスクリプション契約を締結せずに全機能セットを評価できる無料試用ライセンスでご利用いただけます。 試用版では出力ファイルに透かしが挿入されますが、製品版のライセンス キーを適用すると透かしが削除されます。

コードでライセンス キーをアクティブ化するには、 IronXL操作の前にライセンス キーを設定します。

IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronXl.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
$vbLabelText   $csharpLabel

環境変数 (IRONXL_LICENSEKEY) またはASP.NET Coreプロジェクトの appsettings.json を通じてキーを設定することもできます。 IronXLライセンス ページでは、チームおよび組織のオプションを含む、利用可能なすべての層について説明します。

運用環境へのデプロイについては、 IronXLデプロイ ドキュメントと、 ASP.NET Core 、Azure Functions、Docker を網羅するパターンに関するより広範なIronXLチュートリアル ライブラリを確認してください。

C# Interop とIronXLを使用して Excel でピボット テーブルを作成する方法: 画像 9 - ライセンス

次のステップをどう踏み出すか?

C# での Excel ピボット テーブルは、必ずしも Office に依存したり、COM が複雑になるわけではありません。 IronXL を使用すると、あらゆるプラットフォームで実行され、メモリを自動的に処理し、ユニット テスト フレームワークや CI/CD パイプラインと自然に統合されるプレーンな.NETコードを作成できます。

無料のIronXLトライアルをダウンロードし、このガイドの例を自分のデータに対して実行してください。 ご質問がある場合は、試用版ユーザーとライセンス ユーザーの両方が利用できるIronXLコミュニティ フォーラムサポート ポータルをご利用いただけます。 展開の準備ができたら、ライセンス オプションを確認して、チームの規模と使用量に適したプランを見つけます。

よくある質問

ピボットテーブルを作成する際にIronXLがExcel Interopよりも優れている理由は何ですか?

IronXLは、従来のExcel Interopと比較して、Excelファイルにピボットテーブルを作成する、よりモダンで効率的な方法を提供します。プロセスを簡素化し、必要な定型コードを削減します。

IronXl.ExcelでC#を使用してピボット・テーブルを作成できますか?

IronXLはC#を使用してExcelでピボットテーブルを作成する簡単な方法を提供します。これにより、開発者はExcel Interopに依存することなく、Excelファイルを簡単に操作できるようになります。

IronXLは.NETアプリケーションと互換性がありますか?

IronXLは.NETアプリケーションと完全な互換性があり、C#プロジェクトにExcelの機能を統合したい開発者に最適です。

IronXLはシステムにExcelをインストールする必要がありますか?

IronXLはMicrosoft Excelをシステムにインストールする必要はありません。これはExcelのインストールを必要とするExcel Interopに比べて大きな利点です。

IronXLはピボットテーブルの作成プロセスをどのように簡素化しますか?

IronXLは、ユーザーフレンドリーなAPIを提供することで、大規模な定型コードの必要性を減らし、開発プロセスをより迅速かつ効率的にすることで、プロセスを簡素化します。

IronXLを使用するためのシステム要件は何ですか?

IronXLは.NETフレームワークと互換性のある環境を必要としますが、Microsoft Excelをインストールする必要はありません。

IronXLは大規模なExcelファイルを効率的に処理できますか?

IronXLは大きなExcelファイルを効率的に処理するように設計されており、大量のデータを処理する必要があるビジネスアプリケーションに適しています。

IronXl.Excel Interopと比較して、IronXl.Excelの使用には学習が必要ですか?

IronXLは直感的で学習しやすいように設計されており、包括的なドキュメントとサンプルが用意されています。

IronXl.Excelではピボットテーブルの作成以外にどのような操作ができますか?

IronXLはExcelファイルの読み書き、セルの書式設定、数式の適用など、幅広いExcel操作を行うことができます。

IronXLはピボットテーブルをExcel以外の形式にエクスポートできますか?

IronXLは主にExcelの操作に焦点を当てていますが、プロジェクトの要件に応じて、CSVやPDFなどの他のフォーマットへのデータのエクスポートもサポートしています。

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

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me