IRONXLの使用 .NET Core用 Excel API の構築: XLSX ファイルの作成、読み取り、エクスポート カーティス・チャウ 更新日:2026年3月1日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る IronXL を使用すると、 .NET Core用の Excel API を簡単に構築できます。 パッケージをインストールし、WorkBook を作成し、セルにデータを入力して、ストリームを直接返します。Microsoft Office は必要ありません。 Install-Package IronXl.Excel IronXL は、XLSX の作成、データのインポート、複数の形式のエクスポート、セルのスタイル設定をすべて管理された.NETコードで処理します。 これは Windows、Linux、macOS で実行できるため、プログラムによる Excel サポートが必要なあらゆるASP.NET Core API にとって実用的な選択肢となります。 .NET CoreプロジェクトにIronXLをインストールするにはどうすればよいでしょうか? NuGetパッケージ マネージャー コンソールを使用して、任意 for .NET 10 プロジェクトにIronXLを追加します。 Install-Package IronXl.Excel または、 IronXLを検索して Visual Studio NuGet UI 経由でインストールします。 NuGet上のパッケージ名はIronXl.Excelです。 インストール後、ワークブックを作成または読み取るすべてのファイルに using IronXL; を追加します。 ホスト マシンに Office 相互運用ライブラリ、COM 登録、Microsoft Excel のインストールは必要ありません。IronXLは完全に自己完結型です。 IronXL は.NET Standard 2.0 以上をターゲットにしているため、同じライブラリが.NET Core、 .NET 5/6/7/8/9/10、および.NET Frameworkプロジェクトで動作します。 IronXL のドキュメントでは、サポートされているすべての環境について詳しく説明しています。 .NET Coreでプログラム的に Excel ファイルを作成するにはどうすればよいですか? Excel ドキュメントを最初から作成するには、IronXL の直感的な API を使用した数行のコードのみが必要です。 ライブラリは、クリーンなオブジェクト モデルを通じて、ワークブック、ワークシート、セル スタイル、および数式を完全に制御できます。 以下は、フォーマットされたデータを含む新しい Excel ブックを作成し、ワークシートの管理を示し、セル スタイルを適用するコントローラー アクションです。 using IronXL; using Microsoft.AspNetCore.Mvc; [ApiController] [Route("api/[controller]")] public class ExcelController : ControllerBase { [HttpGet("create-report")] public IActionResult CreateSalesReport() { // Create a new Excel workbook in XLSX format WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet worksheet = workbook.CreateWorkSheet("Sales Data"); // Set header labels in the first row worksheet["A1"].Value = "Product"; worksheet["B1"].Value = "Q1 Sales"; worksheet["C1"].Value = "Q2 Sales"; worksheet["D1"].Value = "Total"; // Bold headers and apply a blue background with white text worksheet["A1:D1"].Style.Font.Bold = true; worksheet["A1:D1"].Style.SetBackgroundColor("#4472C4"); worksheet["A1:D1"].Style.Font.SetColor("#FFFFFF"); // Add data rows worksheet["A2"].Value = "Widget Pro"; worksheet["B2"].Value = 15000; worksheet["C2"].Value = 18500; worksheet["D2"].Formula = "=B2+C2"; worksheet["A3"].Value = "Gadget Plus"; worksheet["B3"].Value = 22000; worksheet["C3"].Value = 24000; worksheet["D3"].Formula = "=B3+C3"; // Apply currency number format to sales columns worksheet["B2:D3"].Style.Format = "$#,##0"; // Stream the XLSX file back to the caller var stream = workbook.ToStream(); return File( stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "SalesReport.xlsx"); } } using IronXL; using Microsoft.AspNetCore.Mvc; [ApiController] [Route("api/[controller]")] public class ExcelController : ControllerBase { [HttpGet("create-report")] public IActionResult CreateSalesReport() { // Create a new Excel workbook in XLSX format WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet worksheet = workbook.CreateWorkSheet("Sales Data"); // Set header labels in the first row worksheet["A1"].Value = "Product"; worksheet["B1"].Value = "Q1 Sales"; worksheet["C1"].Value = "Q2 Sales"; worksheet["D1"].Value = "Total"; // Bold headers and apply a blue background with white text worksheet["A1:D1"].Style.Font.Bold = true; worksheet["A1:D1"].Style.SetBackgroundColor("#4472C4"); worksheet["A1:D1"].Style.Font.SetColor("#FFFFFF"); // Add data rows worksheet["A2"].Value = "Widget Pro"; worksheet["B2"].Value = 15000; worksheet["C2"].Value = 18500; worksheet["D2"].Formula = "=B2+C2"; worksheet["A3"].Value = "Gadget Plus"; worksheet["B3"].Value = 22000; worksheet["C3"].Value = 24000; worksheet["D3"].Formula = "=B3+C3"; // Apply currency number format to sales columns worksheet["B2:D3"].Style.Format = "$#,##0"; // Stream the XLSX file back to the caller var stream = workbook.ToStream(); return File( stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "SalesReport.xlsx"); } } $vbLabelText $csharpLabel Excelファイルを出力する WorkBook.Create() は XLSX 形式と XLS 形式の両方をサポートします。 CreateWorkSheet() メソッドは、セルに値を入力し、計算に Excel の数式を適用し、セル範囲を通じてレイアウトを制御する名前付きシートを追加します。 IronXL の計算エンジンは、より複雑なデータ分析シナリオで使用される配列数式のサポートを含め、ワークブックのデータが変更されたときに数式を自動的に評価します。 セル スタイルは、太字や色だけにとどまりません。 セル書式設定 API を使用すると、COM レイヤーに触れることなく、数値の書式、境界線、配置、フォント サイズなどを設定できます。 これにより、ディスプレイ コンテキストが存在しないコンテナー化された Linux 環境内でも安全に実行できるようになります。 ワークブックに複数のワークシートを追加するにはどうすればよいですか? 1 つのワークブックには任意の数のワークシートを保存できます。 必要なタブごとに workbook.CreateWorkSheet("SheetName") を呼び出します。 ワークシートには、後で workbook.GetWorkSheet("SheetName") を通じて名前で、または workbook.WorkSheets[0] を通じてインデックスでアクセスできます。 このパターンは、要約と詳細レポートを生成するときに役立ちます。1 つのシートには集計された合計が保持され、子シートには生のトランザクション行が保持されます。 ワークシート管理のドキュメントでは、実行時にシートの名前変更、並べ替え、削除を行う方法について説明します。 Web API で Excel データを読み取る最適な方法は何ですか? ユーザーがアップロードした Excel ファイルからデータをインポートすることは、スプレッドシートのコンテンツを処理するすべての Web アプリケーションにとって不可欠です。 IronXL を使用すると、ストリームから読み込み、行を反復処理し、各セルから入力された値を取得して、Excel スプレッドシートを直接読み取ることができます。 [HttpPost("import")] public IActionResult ImportExcelData(IFormFile file) { if (file == null || file.Length == 0) return BadRequest("No file uploaded"); using var stream = file.OpenReadStream(); // Load the workbook directly from the upload stream WorkBook workbook = WorkBook.Load(stream); WorkSheet worksheet = workbook.DefaultWorkSheet; var records = new List<Dictionary<string, object>>(); // Start at row 2 to skip the header row for (int row = 2; row <= worksheet.RowCount; row++) { var record = new Dictionary<string, object> { ["Product"] = worksheet[$"A{row}"].StringValue, ["Sales"] = worksheet[$"B{row}"].DecimalValue, ["Date"] = worksheet[$"C{row}"].DateTimeValue }; records.Add(record); } return Ok(new { message = "Import successful", recordCount = records.Count, data = records }); } [HttpPost("import")] public IActionResult ImportExcelData(IFormFile file) { if (file == null || file.Length == 0) return BadRequest("No file uploaded"); using var stream = file.OpenReadStream(); // Load the workbook directly from the upload stream WorkBook workbook = WorkBook.Load(stream); WorkSheet worksheet = workbook.DefaultWorkSheet; var records = new List<Dictionary<string, object>>(); // Start at row 2 to skip the header row for (int row = 2; row <= worksheet.RowCount; row++) { var record = new Dictionary<string, object> { ["Product"] = worksheet[$"A{row}"].StringValue, ["Sales"] = worksheet[$"B{row}"].DecimalValue, ["Date"] = worksheet[$"C{row}"].DateTimeValue }; records.Add(record); } return Ok(new { message = "Import successful", recordCount = records.Count, data = records }); } $vbLabelText $csharpLabel 出力 WorkBook.Load() は、ストリーム、ファイル パス、またはバイト配列から Excel ファイルを開きます。 セルには、worksheet["A1"] インデクサー構文を通じて、または名前付きセル範囲を反復処理することによってアクセスします。 IronXL はデータ検証を自動的に処理し、タイプセーフなアクセサー (StringValue) を公開するため、使用するコードはクリーンかつ予測可能なままになります。 インポートしたデータをどのようにフィルタリングおよび並べ替えますか? ワークブックを読み込んだ後、任意の Range オブジェクトで .SortAscending() または .SortDescending() を呼び出して行を並べ替えます。 フィルタリングの場合は、セルを反復処理して条件をインラインで評価するか、データを LINQ コレクションに転送してさらに処理します。 並べ替えとフィルタリングのガイドでは、実際の例を使用して両方のアプローチを説明します。 大容量のアップロードを扱っていますか? IronXL はアクセスされたセルのみを読み取るため、特定の列をクエリする前に数メガバイトのファイル全体をメモリにロードする必要はありません。 この遅延アクセス アプローチにより、数万行のワークブックを処理する場合でもメモリ消費が安定します。 Excel データをさまざまな形式でエクスポートするにはどうすればよいですか? 多くの場合、アプリケーションではスプレッドシートを複数の出力形式で提供する必要があります。 IronXL は、外部の変換ツールを必要とせずに、単一のメソッド呼び出しで XLSX、XLS、CSV、JSON、HTML へのエクスポートをサポートします。 [HttpGet("export/{format}")] public IActionResult ExportData(string format) { // Load a pre-designed template workbook WorkBook workbook = WorkBook.Load("template.xlsx"); return format.ToLower() switch { "xlsx" => File( workbook.ToStream(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "export.xlsx"), "csv" => File( workbook.ToStream(FileFormat.CSV), "text/csv", "export.csv"), "json" => Ok(workbook.ToJson()), _ => BadRequest("Unsupported format") }; } [HttpGet("export/{format}")] public IActionResult ExportData(string format) { // Load a pre-designed template workbook WorkBook workbook = WorkBook.Load("template.xlsx"); return format.ToLower() switch { "xlsx" => File( workbook.ToStream(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "export.xlsx"), "csv" => File( workbook.ToStream(FileFormat.CSV), "text/csv", "export.csv"), "json" => Ok(workbook.ToJson()), _ => BadRequest("Unsupported format") }; } $vbLabelText $csharpLabel 事前定義されたレイアウトを持つ Excel テンプレートを使用すると、レポートの生成が高速化されます。 事前に設計されたワークブックを読み込み、名前付きセルまたは範囲に動的なデータを入力して、結果をストリーミングします。 このアプローチは、柔軟性よりも一貫したフォーマットが重要な販売レポート、請求書、コンプライアンス ドキュメントに適しています。 IronXL のクロスプラットフォーム サポートにより、これらのファイル操作は Windows、Linux、macOS で同じように動作し、 .NET Coreコンテナー化されたデプロイメントに適しています。 詳細については、 IronXLクロスプラットフォーム ガイドをご覧ください。 .NET Core API から CSV にエクスポートするにはどうすればよいですか? 上記のように、workbook.ToStream(FileFormat.CSV) を呼び出し、text/csv コンテンツ タイプで返します。 複数シートのワークブックの場合、シート オブジェクトで workbook.WorkSheets[index] にアクセスし、.ToStream(FileFormat.CSV) を呼び出すことによって、各シートを個別にエクスポートできます。 CSV エクスポートのドキュメントでは、区切り文字、エンコード、日付形式オプションの処理について説明します。 条件付き書式とデータ バーをどのように適用しますか? 基本的なセル スタイルに加えて、 IronXL は条件付き書式設定ルールもサポートしており、しきい値を超えるセルを緑色で強調表示したり、マイナスのセルを赤色でフラグ付けしたり、グラデーション データ バーを適用して、別のツールで後処理することなく、スプレッドシートですぐに傾向を確認したりできます。 条件付き書式は、読者が一目で外れ値を見つける必要がある財務ダッシュボードや KPI レポートで特に役立ちます。 受信者がダウンロード後に独自の書式設定を適用するのではなく、ルールは XLSX ファイルに埋め込まれた状態で送信され、Microsoft Excel の任意のバージョンまたは互換性のあるビューアでファイルを開いたときに自動的に評価されます。 条件付き書式は、ワークシートの ConditionalFormatting プロパティを通じて設定されます。 ルールは名前付きセル範囲に適用され、セル値の比較、数式ベースのルール、値を低から高に段階的に評価するカラー スケール、セル内棒グラフのように機能するデータ バー オーバーレイなど、複数の条件タイプをサポートします。 Open XML 仕様は、 IronXL がXLSX ファイルに書き込む基礎となるルール構造を定義します。 カラー スケール、アイコン セット、データ バーの適用に関する完全なリファレンスについては、 IronXLドキュメントの条件付き書式のチュートリアルを参照してください。 Excel ファイルとワークシートをどのように保護しますか? 機密データを含むレポートを配布するには、アクセス制御のレイヤーが必要です。 IronXL は、ワークブック レベルのパスワード保護とワークシート レベルの保護の両方をサポートしています。 -ワークブックのパスワード: XLSXファイルを暗号化するには、workbook.Password = "secret"を設定します。受信者はExcelでファイルを開く際にパスワードを入力する必要があります。 -ワークシートの保護: シートの表示は許可しながらセルの編集をロックするには、worksheet.ProtectSheet("password") を呼び出します。 AllowEditRange API を使用して、データ入力用に特定の範囲のロックを解除できます。 -読み取り専用配布: 編集してはいけないドキュメントの場合は、ワークシート保護とファイルレベルの暗号化を組み合わせます。 パスワードで保護された XLSX ファイルでは、ネイティブ Excel が適用するのと同じ標準である AES-128 暗号化がデフォルトで使用されます。 つまり、 IronXLで保護されたファイルは Excel に組み込まれているファイルを開くプロンプトと完全に互換性があり、受信者側で特別なビューアは必要ありません。 これらのセキュリティ機能は標準 for .NET Coreセキュリティ モデルを補完するものであり、財務または HR レポート エンドポイントを構築するときに特に役立ちます。 ファイル保護のドキュメントには完全な API リファレンスが記載されています。 .NETで Excel の数式を操作するにはどうすればよいでしょうか? IronXL の組み込み計算エンジンは、実行時に標準的な Excel 数式を評価するため、API はディスクに保存して Excel で再度開くことなく計算結果を返すことができます。任意のセルの .Formula プロパティに数式文字列を割り当てます。 // Sum a column and place the result in a footer row worksheet[$"B{lastRow}"].Formula = $"=SUM(B2:B{lastRow - 1})"; // Calculate an average across a range worksheet[$"C{lastRow}"].Formula = $"=AVERAGE(C2:C{lastRow - 1})"; // Retrieve the computed value immediately decimal total = worksheet[$"B{lastRow}"].DecimalValue; // Sum a column and place the result in a footer row worksheet[$"B{lastRow}"].Formula = $"=SUM(B2:B{lastRow - 1})"; // Calculate an average across a range worksheet[$"C{lastRow}"].Formula = $"=AVERAGE(C2:C{lastRow - 1})"; // Retrieve the computed value immediately decimal total = worksheet[$"B{lastRow}"].DecimalValue; $vbLabelText $csharpLabel IronXL は、数学、統計、テキスト、日付、検索カテゴリを含むほとんどの標準的な Excel 関数をサポートしています。 高度なシナリオでは、配列数式 (Ctrl+Shift+Enter セマンティクス) もサポートされます。 数式の評価は.NETプロセス内で行われるため、外部の計算サービスとのラウンドトリップは発生しません。数式が割り当てられた直後に結果が利用可能になり、数千の行にわたって計算する場合でも API 応答時間が予測可能になります。 数式サポートリファレンスには、サポートされているすべての関数がリストされています。 次のステップは何ですか? IronXLを使用して Excel API を構築すると、.NET Coreアプリケーションにスプレッドシートを操作するための強力な機能が提供されます。 フォーマットされたデータと計算式を含む XLSX ファイルの作成から、ユーザーのアップロードのインポート、複数の形式でのデータのエクスポートまで、 IronXL は、クロスプラットフォームで Office を使用しない方法で、プログラムによるスプレッドシート操作のあらゆる側面を処理します。 さらに詳しく知るには、次のリソースを参照してください。 IronXL製品ページ- 機能の概要と入門ガイド IronXLドキュメント- 完全な API リファレンスとハウツー記事 C# で Excel ファイルを作成する- ワークブックとワークシートの作成に関する詳細なチュートリアル C# で Excel ファイルを読み取り、データの読み込み、解析、抽出を行う Excel を CSV にエクスポート- エンコードと区切り文字オプション付きの CSV エクスポート -セル書式設定 API - フォント、色、境界線、数値の書式 -条件付き書式- ルール、データバー、カラースケール -数式のサポート- サポートされている Excel 関数のリファレンス -ファイル保護- ワークブックとワークシートのパスワード API NuGetパッケージ- 現在のリリースとバージョン履歴 無料トライアルを開始して、実際のプロジェクトでIronXL をテストするか、ライセンス オプションを確認して本番環境への展開に適したプランを見つけてください。 よくある質問 IronXLとは何ですか? IronXL は、開発者が Microsoft Office や COM 相互運用性を必要とせずに C# でプログラム的に Excel ファイルを作成、読み取り、エクスポートできるようにする.NET Excel ライブラリです。 Office なしで.NET Coreで Excel ファイルを作成するにはどうすればよいですか? WorkBook.Create(ExcelFileFormat.XLSX) を呼び出して新しいブックを作成し、CreateWorkSheet() を使用してシートを追加し、worksheet['A1'].Value 構文を使用してセルにデータを入力し、workbook.ToStream() を使用して結果をストリーミングします。 ASP.NET Coreでアップロードされた Excel ファイルを読み取るにはどうすればよいでしょうか? IFormFileストリームをWorkBook.Load(stream)に渡し、DefaultWorkSheetにアクセスし、worksheet.RowCountを使用して行を反復処理します。DecimalValueやDateTimeValueなどの型指定されたアクセサーは、各セルから厳密に型指定されたデータを抽出します。 IronXL はExcel データを CSV または JSON にエクスポートできますか? はい。CSV 出力の場合は workbook.ToStream(FileFormat.CSV) を呼び出し、ワークブック データの JSON 表現の場合は workbook.ToJson() を呼び出します。 IronXL はLinux および macOS で動作しますか? はい。IronXLは.NET Standard 2.0 以上を対象としており、Microsoft Office のインストールや COM レイヤーなしで Windows、Linux、macOS 上で実行されます。 IronXLで Excel ファイルをパスワード保護するにはどうすればよいですか? SaveAs() を呼び出す前に、workbook.Password に文字列を設定してください。ワークシートレベルの保護を行うには、worksheet.ProtectSheet('password') を呼び出して、シートの読み取りを許可しながらセルの編集を禁止します。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 2026年3月1日 ASP .NET C# で Excel ファイルをダウンロード: XLSX、CSV などにデータをエクスポート C#とIronXLを使用して、 ASP.NET CoreでExcelファイルをダウンロードします。MVCコントローラーからMemoryStreamとFile()を使用して、XLSX、CSV、XML形式でデータをエクスポートします。コード例も含まれています。 詳しく読む 更新日 2026年3月1日 IronXLを使用してBlazorで Excel ファイルをエクスポートする方法 IronXLを使用してBlazor Server アプリケーションから Excel にデータをエクスポートする方法を学びます。このガイドでは、プロジェクトのセットアップ、サービス設計、条件付き書式、複数シートのレポート、エラー処理について、完全な C# コード例とともに説明します。 詳しく読む 更新日 2026年2月27日 StreamReader の代わりに C# で Excel ファイルを読み取る方法 StreamReader が Excel ファイルを読み取れない理由と、 IronXL を使用して C# .NETのディスクまたはメモリ ストリームから XLSX および XLS ワークブックを読み込む方法について説明します。 詳しく読む VB .NET Excel 先頭行を固定する:スクロール中にヘッダーを表示したままにするC# CSV から XLSX: CSV ファイ...
更新日 2026年3月1日 ASP .NET C# で Excel ファイルをダウンロード: XLSX、CSV などにデータをエクスポート C#とIronXLを使用して、 ASP.NET CoreでExcelファイルをダウンロードします。MVCコントローラーからMemoryStreamとFile()を使用して、XLSX、CSV、XML形式でデータをエクスポートします。コード例も含まれています。 詳しく読む
更新日 2026年3月1日 IronXLを使用してBlazorで Excel ファイルをエクスポートする方法 IronXLを使用してBlazor Server アプリケーションから Excel にデータをエクスポートする方法を学びます。このガイドでは、プロジェクトのセットアップ、サービス設計、条件付き書式、複数シートのレポート、エラー処理について、完全な C# コード例とともに説明します。 詳しく読む
更新日 2026年2月27日 StreamReader の代わりに C# で Excel ファイルを読み取る方法 StreamReader が Excel ファイルを読み取れない理由と、 IronXL を使用して C# .NETのディスクまたはメモリ ストリームから XLSX および XLS ワークブックを読み込む方法について説明します。 詳しく読む