IRONXLの使用 .NET Core Excelスプレッドシート:IronXLを使用してC#でプロフェッショナルなExcelワークシートファイルを作成する カーティス・チャウ 更新日:2026年1月5日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る .NET CoreでExcelスプレッドシートをプログラムで生成すると、財務報告や在庫追跡からデータのエクスポートや自動ダッシュボードまで、強力な自動化の可能性が広がります。 Webアプリケーション開発では、.NET Core Excelスプレッドシート生成を統合することで、データアクセシビリティとレポーティングが強化され、ユーザーは複雑なデータセットと対話し、そこから貴重な洞察を引き出すことができます。IronXLfor .NETを使えば、開発者はMicrosoft Officeをインストールしたり、Office Interopに依存することなくExcelファイルを作成できます。このクロスプラットフォーム・ライブラリはWindows、Linux、macOS上でシームレスに動作し、AzureやDockerコンテナにデプロイされる最新のデータ駆動型アプリケーションに最適です。 ウェブアプリケーションでは、Excelシートの生成とダウンロード機能により、ユーザーは複雑なデータテーブルをエクスポートできるようになり、データにアクセスしやすく、ポータブルにすることで、ユーザーエクスペリエンスが大幅に向上します。 このチュートリアルでは、.NET Core Excelスプレッドシートをプロフェッショナルな書式設定、数式、複数のエクスポートオプションで作成する方法を説明します。 ASP.NET Core Webアプリケーション、コンソールアプリケーション、バックグラウンドサービスのいずれを構築する場合でも、これらのテクニックはすべての.NETアプリケーションに適用されます。 最終的には、Visual Studioまたは任意の.NET開発環境の既存のプロジェクトとシームレスに統合された、生産可能なExcelファイルを生成するための実用的なコードを手に入れることができます。 Officeに依存せずに.NET CoreでExcelスプレッドシートを作成するにはどうすればよいですか? 従来のMicrosoft Excelの自動化にはMS Officeのインストールが必要で、Office Interopを使用しているため、Linuxやコンテナ環境では動作しません。 Microsoftのドキュメントで説明されているように、Office Interopは、展開の複雑さとライセンスに関する懸念ももたらします。IronXLfor .NETは、Excelファイルをネイティブに処理し、最新のスプレッドシート機能を完全にサポートする純粋な.NETソリューションを提供することで、これらの制限を排除します。 このライブラリは、.NET 8、.NET 9、.NET 10、および以前の.NET Coreバージョンをサポートしています。 XLSX、XLS、CSV、その他のスプレッドシート形式を、外部依存なしに処理します。 このため、サーバーサイドのアプリケーションやマイクロサービス、Microsoft Officeのインストールが現実的でないシナリオでは、特に価値があります。 NuGetパッケージのインストールによって簡単に統合できるため、開発者は数分でExcelファイルを書き始めることができます。 Visual Studioを開き、NuGet Package Manager Consoleにアクセスして、次のコマンドを実行してください: Install-Package IronXL.Excel .NETコアExcelスプレッドシート:IronXL for .NETを使用してC#でプロフェッショナルなExcelワークシートファイルを作成します:イメージ1 - インストール using IronXL; // Create a new workbook in XLSX format WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Add an Excel worksheet with a custom name WorkSheet sheet = workbook.CreateWorkSheet("SalesReport"); // Set a cell value sheet["A1"].Value = "Product Sales Summary"; // Save the generated Excel file workbook.SaveAs("SalesReport.xlsx"); using IronXL; // Create a new workbook in XLSX format WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Add an Excel worksheet with a custom name WorkSheet sheet = workbook.CreateWorkSheet("SalesReport"); // Set a cell value sheet["A1"].Value = "Product Sales Summary"; // Save the generated Excel file workbook.SaveAs("SalesReport.xlsx"); Imports IronXL ' Create a new workbook in XLSX format Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) ' Add an Excel worksheet with a custom name Dim sheet As WorkSheet = workbook.CreateWorkSheet("SalesReport") ' Set a cell value sheet("A1").Value = "Product Sales Summary" ' Save the generated Excel file workbook.SaveAs("SalesReport.xlsx") $vbLabelText $csharpLabel WorkBook.Create()メソッドは新しい Excel ワークブックを初期化し、ExcelFileFormat パラメータで XLSX (Excel 2007 で導入された XML ベースの最新の形式) または XLS (従来のバイナリ形式) を指定します。 ファイルサイズが小さく、最新のツールとの互換性が高いため、ほとんどのシナリオではXLSXを推奨します。 CreateWorkSheet()メソッドは、Excelのデータが存在する名前付きワークシートを追加します。 出力 .NETコアExcelスプレッドシート:IronXL for .NETを使用してC#でプロフェッショナルなExcelワークシートファイルを作成します:画像2 - エクセル出力</a セルの値は、エクセルのアドレス指定システムを反映したブラケット記法(sheet["A1"]はセルA1を直接ターゲットとする)を使用した直感的なインターフェイスで設定されます。 この構文は、特定のセルとレンジの両方をサポートしており、あらゆるスプレッドシートプロジェクトで一括操作を簡単に行うことができます。 DLLの手動ダウンロードを含む詳細なインストール方法については、IronXL for .NET インストールガイドとドキュメントを参照してください。 Linux 開発者は、Linux デプロイメント ドキュメントでプラットフォーム固有のガイダンスも確認してください。 ワークシートを追加し、データを入力する手順は何ですか? 実際のExcelスプレッドシートには、複数のワークシートにまたがる構造化データが含まれています。 IronXLは、データ駆動型アプリケーションにおける手動データ入力や自動化されたデータパイプラインを問わず、情報を整理しセルに効率的に入力するための柔軟な方法を提供します。 using IronXL; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("MonthlySales"); // Set column names as headers sheet["A1"].Value = "Month"; sheet["B1"].Value = "Revenue"; sheet["C1"].Value = "Units Sold"; // Populate Excel data using a loop (mock sales data) string[] months = { "January", "February", "March", "April", "May", "June" }; decimal[] revenue = { 45000.50m, 52000.75m, 48500.25m, 61000.00m, 58750.50m, 67200.25m }; int[] units = { 150, 175, 160, 200, 190, 220 }; for (int i = 0; i < months.Length; i++) { int row = i + 2; sheet[$"A{row}"].Value = months[i]; sheet[$"B{row}"].Value = revenue[i]; sheet[$"C{row}"].Value = units[i]; } // Set a range of cells to the same value across columns sheet["D2:D7"].Value = "Active"; workbook.SaveAs("MonthlySales.xlsx"); using IronXL; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("MonthlySales"); // Set column names as headers sheet["A1"].Value = "Month"; sheet["B1"].Value = "Revenue"; sheet["C1"].Value = "Units Sold"; // Populate Excel data using a loop (mock sales data) string[] months = { "January", "February", "March", "April", "May", "June" }; decimal[] revenue = { 45000.50m, 52000.75m, 48500.25m, 61000.00m, 58750.50m, 67200.25m }; int[] units = { 150, 175, 160, 200, 190, 220 }; for (int i = 0; i < months.Length; i++) { int row = i + 2; sheet[$"A{row}"].Value = months[i]; sheet[$"B{row}"].Value = revenue[i]; sheet[$"C{row}"].Value = units[i]; } // Set a range of cells to the same value across columns sheet["D2:D7"].Value = "Active"; workbook.SaveAs("MonthlySales.xlsx"); Imports IronXL Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim sheet As WorkSheet = workbook.CreateWorkSheet("MonthlySales") ' Set column names as headers sheet("A1").Value = "Month" sheet("B1").Value = "Revenue" sheet("C1").Value = "Units Sold" ' Populate Excel data using a loop (mock sales data) Dim months As String() = {"January", "February", "March", "April", "May", "June"} Dim revenue As Decimal() = {45000.5D, 52000.75D, 48500.25D, 61000.0D, 58750.5D, 67200.25D} Dim units As Integer() = {150, 175, 160, 200, 190, 220} For i As Integer = 0 To months.Length - 1 Dim row As Integer = i + 2 sheet($"A{row}").Value = months(i) sheet($"B{row}").Value = revenue(i) sheet($"C{row}").Value = units(i) Next ' Set a range of cells to the same value across columns sheet("D2:D7").Value = "Active" workbook.SaveAs("MonthlySales.xlsx") $vbLabelText $csharpLabel 文字列補間($"A{row}")は、ループ内の動的なセルアドレシングを可能にし、あらゆるデータソースからプログラム的に行を入力することを容易にします。 範囲構文sheet["D2:D7"]は、複数のセルに同時に値を適用します-ステータス列、デフォルト値、データ領域の初期化に便利です。 IronXLは自動的にデータ型の変換を行い、生成されるExcelファイルに適切なExcelデータ型を保持したまま、小数を数値として、文字列をテキストとして格納します。 データベース統合を必要とするアプリケーションのために、IronXLはEntity Framework Core、Dapper、または生のADO.NETとシームレスに動作します。 DataTableオブジェクトからのデータは、ワークシートに直接エクスポートすることができ、レポート作成ワークフローを簡素化し、ユーザーがシステム間でデータを共有できるようにします。 複数のワークシートを作成することで、関連するExcelデータを1つのワークブック内で論理的に整理することができます: WorkSheet summarySheet = workbook.CreateWorkSheet("Summary"); WorkSheet detailSheet = workbook.CreateWorkSheet("Details"); WorkSheet archiveSheet = workbook.CreateWorkSheet("Archive"); WorkSheet summarySheet = workbook.CreateWorkSheet("Summary"); WorkSheet detailSheet = workbook.CreateWorkSheet("Details"); WorkSheet archiveSheet = workbook.CreateWorkSheet("Archive"); Dim summarySheet As WorkSheet = workbook.CreateWorkSheet("Summary") Dim detailSheet As WorkSheet = workbook.CreateWorkSheet("Details") Dim archiveSheet As WorkSheet = workbook.CreateWorkSheet("Archive") $vbLabelText $csharpLabel ワークシートの管理とExcelファイルの書き込みについては、IronXLのドキュメントをご覧ください。 既存のExcelファイルの読み込みについては、Excelファイル読み込みチュートリアルを参照してください。 出力 .NETコアExcelスプレッドシート:IronXLを使用してC#でプロフェッショナルなExcelワークシートファイルを作成する:画像3 - 複数のワークシート出力。 プロフェッショナルな書式とスタイルを適用するにはどうすればよいですか? 生データは、適切にフォーマットされたときに意味を持つようになります。 IronXLは背景色、フォント、枠線、数値フォーマットをサポートしており、Excelスプレッドシートをエグゼクティブ向けのプレゼンテーションやクライアントの成果物に適した洗練されたレポートに変換するために不可欠なフォーマット機能です。 using IronXL; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("FormattedReport"); // Create headers with styling sheet["A1"].Value = "Category"; sheet["B1"].Value = "Amount"; sheet["C1"].Value = "Date"; // Apply header formatting to the Excel sheet sheet["A1:C1"].Style.SetBackgroundColor("#2E86AB"); sheet["A1:C1"].Style.Font.Bold = true; sheet["A1:C1"].Style.Font.SetColor("#FFFFFF"); // Add sample data to specific cells sheet["A2"].Value = "Software License"; sheet["B2"].Value = 1299.99m; sheet["C2"].Value = DateTime.Now; // Format currency and date columns sheet["B2"].FormatString = "$#,##0.00"; sheet["C2"].FormatString = "yyyy-MM-dd"; // Add borders around the data range var dataRange = sheet["A1:C2"]; dataRange.Style.BottomBorder.SetColor("#000000"); dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin; workbook.SaveAs("FormattedReport.xlsx"); using IronXL; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("FormattedReport"); // Create headers with styling sheet["A1"].Value = "Category"; sheet["B1"].Value = "Amount"; sheet["C1"].Value = "Date"; // Apply header formatting to the Excel sheet sheet["A1:C1"].Style.SetBackgroundColor("#2E86AB"); sheet["A1:C1"].Style.Font.Bold = true; sheet["A1:C1"].Style.Font.SetColor("#FFFFFF"); // Add sample data to specific cells sheet["A2"].Value = "Software License"; sheet["B2"].Value = 1299.99m; sheet["C2"].Value = DateTime.Now; // Format currency and date columns sheet["B2"].FormatString = "$#,##0.00"; sheet["C2"].FormatString = "yyyy-MM-dd"; // Add borders around the data range var dataRange = sheet["A1:C2"]; dataRange.Style.BottomBorder.SetColor("#000000"); dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin; workbook.SaveAs("FormattedReport.xlsx"); Imports IronXL Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim sheet As WorkSheet = workbook.CreateWorkSheet("FormattedReport") ' Create headers with styling sheet("A1").Value = "Category" sheet("B1").Value = "Amount" sheet("C1").Value = "Date" ' Apply header formatting to the Excel sheet sheet("A1:C1").Style.SetBackgroundColor("#2E86AB") sheet("A1:C1").Style.Font.Bold = True sheet("A1:C1").Style.Font.SetColor("#FFFFFF") ' Add sample data to specific cells sheet("A2").Value = "Software License" sheet("B2").Value = 1299.99D sheet("C2").Value = DateTime.Now ' Format currency and date columns sheet("B2").FormatString = "$#,##0.00" sheet("C2").FormatString = "yyyy-MM-dd" ' Add borders around the data range Dim dataRange = sheet("A1:C2") dataRange.Style.BottomBorder.SetColor("#000000") dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin workbook.SaveAs("FormattedReport.xlsx") $vbLabelText $csharpLabel Styleプロパティは、Microsoft Excelの機能と一致する書式オプションを公開します。 背景色は16進コード(#接頭辞の有無にかかわらず)を受け付け、FormatStringはExcelのカスタム書式構文と同じ数値書式を適用します。 ボーダーのスタイリングは、Thin、Medium、Thick、Doubleなどのさまざまなタイプをサポートしており、Excelワークシートのセル境界を正確に制御できます。 膨大なデータを含む Excel スプレッドシートでは、CreateFreezePane(0, 1) はスクロール中にヘッダーを表示したままにします。 sheet.PrintSetupによる印刷設定は、物理的な出力の方向、マージン、スケーリングを処理します。 セルの書式設定ガイドとボーダー設定チュートリアルで、スタイリングのオプションを追加してください。 これらのツールにより、開発者はセル外観のあらゆる面を編集およびカスタマイズするための完全なアクセスが可能になります。 エクセルの計算式はどのように使用できますか? エクセルの計算エンジンはデータ分析を自動化する中核機能であり、IronXLは数式を完全にサポートしています。 IronXL.Excelの標準的な構文を使用して数式を文字列として設定すると、IronXLはレポートや財務分析に必要な結果を自動的に計算します。 using IronXL; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("BudgetCalculations"); // Add expense data to the Excel workbook sheet["A1"].Value = "Expense"; sheet["B1"].Value = "Amount"; sheet["A2"].Value = "Rent"; sheet["B2"].Value = 2500; sheet["A3"].Value = "Utilities"; sheet["B3"].Value = 350; sheet["A4"].Value = "Supplies"; sheet["B4"].Value = 875; sheet["A5"].Value = "Marketing"; sheet["B5"].Value = 1200; // Add formulas for calculations sheet["A7"].Value = "Total:"; sheet["B7"].Formula = "=SUM(B2:B5)"; sheet["A8"].Value = "Average:"; sheet["B8"].Formula = "=AVERAGE(B2:B5)"; sheet["A9"].Value = "Maximum:"; sheet["B9"].Formula = "=MAX(B2:B5)"; sheet["A10"].Value = "Count:"; sheet["B10"].Formula = "=COUNT(B2:B5)"; // Calculate all formulas workbook.EvaluateAll(); // Access calculated values programmatically decimal total = sheet["B7"].DecimalValue; Console.WriteLine($"Calculated total: {total}"); workbook.SaveAs("BudgetCalculations.xlsx"); using IronXL; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("BudgetCalculations"); // Add expense data to the Excel workbook sheet["A1"].Value = "Expense"; sheet["B1"].Value = "Amount"; sheet["A2"].Value = "Rent"; sheet["B2"].Value = 2500; sheet["A3"].Value = "Utilities"; sheet["B3"].Value = 350; sheet["A4"].Value = "Supplies"; sheet["B4"].Value = 875; sheet["A5"].Value = "Marketing"; sheet["B5"].Value = 1200; // Add formulas for calculations sheet["A7"].Value = "Total:"; sheet["B7"].Formula = "=SUM(B2:B5)"; sheet["A8"].Value = "Average:"; sheet["B8"].Formula = "=AVERAGE(B2:B5)"; sheet["A9"].Value = "Maximum:"; sheet["B9"].Formula = "=MAX(B2:B5)"; sheet["A10"].Value = "Count:"; sheet["B10"].Formula = "=COUNT(B2:B5)"; // Calculate all formulas workbook.EvaluateAll(); // Access calculated values programmatically decimal total = sheet["B7"].DecimalValue; Console.WriteLine($"Calculated total: {total}"); workbook.SaveAs("BudgetCalculations.xlsx"); Imports IronXL Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim sheet As WorkSheet = workbook.CreateWorkSheet("BudgetCalculations") ' Add expense data to the Excel workbook sheet("A1").Value = "Expense" sheet("B1").Value = "Amount" sheet("A2").Value = "Rent" sheet("B2").Value = 2500 sheet("A3").Value = "Utilities" sheet("B3").Value = 350 sheet("A4").Value = "Supplies" sheet("B4").Value = 875 sheet("A5").Value = "Marketing" sheet("B5").Value = 1200 ' Add formulas for calculations sheet("A7").Value = "Total:" sheet("B7").Formula = "=SUM(B2:B5)" sheet("A8").Value = "Average:" sheet("B8").Formula = "=AVERAGE(B2:B5)" sheet("A9").Value = "Maximum:" sheet("B9").Formula = "=MAX(B2:B5)" sheet("A10").Value = "Count:" sheet("B10").Formula = "=COUNT(B2:B5)" ' Calculate all formulas workbook.EvaluateAll() ' Access calculated values programmatically Dim total As Decimal = sheet("B7").DecimalValue Console.WriteLine($"Calculated total: {total}") workbook.SaveAs("BudgetCalculations.xlsx") $vbLabelText $csharpLabel Formulaプロパティは、標準的なExcelの数式構文に対応しています。 数式を設定した後、EvaluateAll()を呼び出して結果を計算します。 このステップでは、DecimalValue、IntValue、StringValueのような型付きプロパティを通して、計算された値がすぐに利用できるようにします。 EvaluateAll()を呼び出さなくても、数式は正しく保存され、Excelで開いたときに計算されます。 出力 .NETコアExcelスプレッドシート:IronXLを使用してC#でプロフェッショナルなExcelワークシートファイルを作成する: 画像4 - Excelの数式出力。 .NETコアExcelスプレッドシート:IronXLを使用してC#でプロフェッショナルなExcelワークシートファイルを作成する: 画像5 - コンソール出力。 IronXLは数学演算(SUM、AVERAGE、ROUND)、統計関数(COUNT、MAX、MIN、STDEV)、テキスト操作(CONCATENATE、LEFT、RIGHT)、論理演算(IF、AND、OR)を含む150以上のExcel関数をサポートしています。 完全なリストについては、サポートされている数式リファレンスを参照してください。 IronXLはExcelファイルに数式を保持する必要のないシンプルなシナリオのために、優れたパフォーマンスを持つ組み込みの集計メソッドを提供します: decimal sum = sheet["B2:B5"].Sum(); decimal avg = sheet["B2:B5"].Avg(); decimal max = sheet["B2:B5"].Max(); decimal sum = sheet["B2:B5"].Sum(); decimal avg = sheet["B2:B5"].Avg(); decimal max = sheet["B2:B5"].Max(); Dim sum As Decimal = sheet("B2:B5").Sum() Dim avg As Decimal = sheet("B2:B5").Avg() Dim max As Decimal = sheet("B2:B5").Max() $vbLabelText $csharpLabel これらのメソッドは、計算をスプレッドシートの目に見える数式として表示する必要がない場合に、オブジェクト指向のC#ネイティブな代替手段を提供します。 ワークシート間のセル参照を含む高度なシナリオについては、数式編集ガイドを参照してください。 IronXLはデータと数式に焦点を当てていることに注意してください。チャートについては、データを視覚化専門のツールにエクスポートするか、クライアントサイドのチャートライブラリを使用することを検討してください。 Excelファイルをエクスポートしてダウンロードするにはどうすればよいですか? IronXLはさまざまな統合要件を満たすために複数のエクスポート形式をサポートしています。 スプレッドシートは、標準的なExcel形式以外にも、データ交換用のCSV、Webアプリケーション用のJSON、レガシーシステムとの互換性を保つためのTSVにエクスポートすることができます。 この柔軟性により、Excel作成をあらゆるワークフローに簡単に統合できます。 using IronXL; WorkBook workbook = WorkBook.Load("BudgetCalculations.xlsx"); // Export to different formats - save the Excel data as needed workbook.SaveAs("output.xlsx"); // Modern Excel (Office 2007+) workbook.SaveAs("output.xls"); // Legacy Excel (97-2003) workbook.SaveAsCsv("output.csv"); // CSV for data import/export workbook.SaveAsJson("output.json"); // JSON for web APIs using IronXL; WorkBook workbook = WorkBook.Load("BudgetCalculations.xlsx"); // Export to different formats - save the Excel data as needed workbook.SaveAs("output.xlsx"); // Modern Excel (Office 2007+) workbook.SaveAs("output.xls"); // Legacy Excel (97-2003) workbook.SaveAsCsv("output.csv"); // CSV for data import/export workbook.SaveAsJson("output.json"); // JSON for web APIs Imports IronXL Dim workbook As WorkBook = WorkBook.Load("BudgetCalculations.xlsx") ' Export to different formats - save the Excel data as needed workbook.SaveAs("output.xlsx") ' Modern Excel (Office 2007+) workbook.SaveAs("output.xls") ' Legacy Excel (97-2003) workbook.SaveAsCsv("output.csv") ' CSV for data import/export workbook.SaveAsJson("output.json") ' JSON for web APIs $vbLabelText $csharpLabel 各フォーマットは、特定の使用ケースに対応しています。 XLSXは、Excelユーザーと共有する際に、書式や数式を保持するために最適です。 CSVは、データベース、分析ツール、または他のスプレッドシートアプリケーションにインポートするための最大の互換性を提供します。 JSONは、JavaScriptフロントエンドやREST APIと自然に統合されます。ドキュメントワークフローについては、PDF生成ツールと統合してExcelデータをPDFに変換することを検討してください。 出力 .NETコアExcelスプレッドシート:IronXLを使用してC#でプロフェッショナルなExcelワークシートファイルを作成する: 画像6 - 最新のExcel出力。 .NETコアExcelスプレッドシート:IronXLを使用してC#でプロフェッショナルなExcelワークシートファイルを作成する: Image 7 - JSON出力。 .NET Core Webアプリケーションの場合、Excelファイルをダウンロード可能な応答として提供するには、わずか数行のコードが必要です: [HttpGet("download-report")] public IActionResult DownloadReport() { WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("Report"); sheet["A1"].Value = "Generated Report"; sheet["A2"].Value = DateTime.Now; var stream = workbook.ToStream(); return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Report.xlsx"); } [HttpGet("download-report")] public IActionResult DownloadReport() { WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet sheet = workbook.CreateWorkSheet("Report"); sheet["A1"].Value = "Generated Report"; sheet["A2"].Value = DateTime.Now; var stream = workbook.ToStream(); return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Report.xlsx"); } Imports Microsoft.AspNetCore.Mvc <HttpGet("download-report")> Public Function DownloadReport() As IActionResult Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim sheet As WorkSheet = workbook.CreateWorkSheet("Report") sheet("A1").Value = "Generated Report" sheet("A2").Value = DateTime.Now Dim stream = workbook.ToStream() Return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Report.xlsx") End Function $vbLabelText $csharpLabel ToStream()メソッドは、完全なExcelファイルを含むMemoryStreamを作成し、ASP.NET CoreのFile()メソッドが適切なMIMEタイプで返します。 このパターンは、MVCコントローラ、APIコントローラ、最小限のAPIで同じように機能します。ブラウザは自動的に指定されたファイル名でファイルのダウンロードをトリガーし、ユーザーは生成されたExcelファイルをローカルに保存することができます。 トラフィックの多いアプリケーションでは、レポートを非同期で生成し、基礎となるデータが頻繁に変更されない場合は結果をキャッシュすることを検討してください。 フォーマット変換ドキュメントは、パスワードで保護されたファイルを含む、追加のエクスポートシナリオをカバーしています。 Excel生成のパフォーマンスとセキュリティに関する考察 .NET CoreでExcelファイルを生成するアプリケーションを構築する場合、パフォーマンスとセキュリティの両方が最優先されます。 最新の.NET Coreスプレッドシートコントロールは、高性能なExcelファイル生成を実現するように設計されており、Microsoft OfficeやOffice Interopのオーバーヘッドなしに、最も複雑なExcelワークシートでも作成および操作することができます。 スプレッドシートのパフォーマンスを最適化するために、.NET Coreスプレッドシートコントロールはデータ仮想化などの高度な技術を活用しています。 これは、アプリケーションがメモリボトルネックや速度低下に陥ることなく、大量のデータを効率的に処理し、Excelファイルにエクスポートできることを意味します。 マルチスレッド対応により、複数のExcelファイル生成タスクの同時処理が可能になるため、パフォーマンスがさらに向上し、データ量の多い処理も迅速かつ効率的に完了します。 Excelファイルを扱う場合、特に機密データや機密データを扱う場合は、セキュリティも同様に重要です。 Microsoft Officeから独立して動作し、Office Interopを回避することで、.NET Coreスプレッドシートコントロールは外部の脆弱性のリスクを最小限に抑え、.NETアプリケーションのより安全な環境を保証します。 さらに、暗号化とパスワード保護のサポートが組み込まれているため、生成したExcelファイルを保護し、許可されたユーザーだけが重要なワークシートやデータにアクセスまたは編集できるようにすることができます。 他の.NET Excelソリューションよりもこのライブラリを選ぶ理由 .NET Excel操作用のライブラリはいくつか存在し、それぞれ強みが異なります。 IronXLがExcelファイルを作成・管理するためのソリューションとしてどのように比較されるかをご紹介します: 主な差別化要因:IronXLと代替ライブラリの比較 フィーチャー IronXL オープンソースの代替 Microsoft Officeのインストールが必要 なし なし 技術サポート はい(24/5 エンジニアチーム) コミュニティベース クロスプラットフォーム(.NET Core) フルサポート ライブラリによって異なる 数式計算エンジン 150以上の機能 制限ありまたはなし ライセンスモデル 無料トライアル付き商用 さまざまなオープンソース IronXL.Excelは、信頼できるテクニカルサポート、包括的なドキュメント、一貫したアップデートを必要とする企業シナリオに優れています。 このライブラリは、破損したファイル、複雑な数式、大規模なデータセットなど、オープンソースの代替ツールが苦戦するようなエッジケースを優雅に処理します。 開発速度、生産の信頼性、複雑なスプレッドシート要件への回答を優先するチームにとって、IronXLの商業的裏付けは安心感をもたらします。 NuGetパッケージをインストールして、すぐにビルドを開始してください。 Stack Overflow での議論によると、開発者は、.NET Core プロジェクトで Excel ライブラリを選択する際の決め手として、API のシンプルさとドキュメントの質を頻繁に挙げています。 結論 IronXLで.NET Core Excelスプレッドシートを作成することで、かつては複雑で依存関係の多い作業であったものが効率化されます。 基本的なセル操作から数式計算、プロフェッショナルな書式設定まで、このライブラリは、.NETが動作する場所であればどこでも動作するスプレッドシート自動化のための完全なツールキットを提供します—Windowsサーバー、Linuxコンテナ、またはクラウドプラットフォーム。 クロスプラットフォームアーキテクチャにより、開発用マシンと実稼働環境で同一の動作が保証されるため、Office Interopソリューションにありがちな"私のマシンでは動作しない"という問題が発生しません。 .NET Foundationの議論で述べたように、最近の.NET開発はクロスプラットフォーム展開をますますターゲットにしており、保守可能なソリューションとより良いシステム互換性のためにOfficeに依存しないライブラリが不可欠になっています。 構築開始の準備はできましたか? 30日間の無料トライアルをダウンロードして、制限なしですべての機能を試すか、ライセンス オプションを表示して、実運用に導入してください。 既存のExcelファイルの読み込みやパスワードで保護されたワークブックの操作のような高度なシナリオをカバーする追加のコード例については、完全なドキュメントとAPIリファレンスを参照してください。 よくある質問 .NET CoreでのExcelスプレッドシート生成にIronXLを使用するメリットは何ですか? IronXLは、Microsoft OfficeやOffice Interopを必要とせず、プログラムによってExcelファイルを作成し、Windows、Linux、macOSのクロスプラットフォーム互換性を提供します。このため、最新のデータ駆動型アプリケーションに最適です。 IronXL はASP.NET Coreアプリケーションで使用できますか? IronXLはASP.NET Coreアプリケーションに統合でき、財務報告、在庫追跡、データエクスポートなどの強力な自動化を可能にします。 IronXLを使用してウェブアプリケーションでExcelスプレッドシートを生成することは可能ですか? もちろんです。IronXLはウェブアプリケーションでのExcelシートの生成とダウンロード機能をサポートし、複雑なデータテーブルをエクスポートして操作できるようにすることで、ユーザーエクスペリエンスを向上させます。 IronXLはMicrosoft Officeのインストールを必要としますか? IronXLはMicrosoft Officeのインストールを必要としません。Office Interopとは独立して動作し、導入と統合を簡素化します。 IronXL は .NET Core アプリケーションのデータアクセシビリティをどのように向上させるのですか? IronXLは、開発者がプログラムによってExcelスプレッドシートを生成できるようにすることで、データへのアクセシビリティを向上させ、複雑なデータセットからのインタラクションや洞察の抽出を容易にします。 IronXLはAzureのようなクラウド環境に導入できますか? IronXLはAzureやDockerコンテナなどのクラウド環境にデプロイでき、スケーラブルなクラウドベースのアプリケーションに適しています。 IronXLはmacOSとLinuxに対応していますか? IronXLはmacOSとLinuxと完全な互換性があり、.NETアプリケーションでExcelスプレッドシートを生成するためのクロスプラットフォーム・ソリューションを提供します。 IronXLはどのようなアプリケーションに有効ですか? 財務報告、在庫管理、自動化されたダッシュボードなど、データ駆動型のソリューションを必要とするアプリケーションでは、Excelスプレッドシート生成にIronXLを使用することで大きなメリットが得られます。 IronXLはウェブアプリケーションのユーザー体験をどのように向上させますか? IronXLは、複雑なデータテーブルをExcelスプレッドシートにエクスポートできるようにすることで、ユーザーエクスペリエンスを向上させ、エンドユーザーがデータにアクセスしやすく、ポータブルにします。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 2026年2月15日 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法を学びます。 詳しく読む 公開日 2026年2月15日 IronXLを使用してOfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法 IronXLを使用して、OfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法について説明します。 詳しく読む 公開日 2026年2月15日 C# CSV to XLSX: 完全な開発者ガイド IronXLを使用してC#でCSVをXLSXに変換します。CSVファイルを読み込み、データ型を保持し、グラフを追加し、Microsoft Officeに依存せずにExcel形式にエクスポートします。 詳しく読む IronXLを使用してC#でExcelファイルを読み取る最良の方法VB.NETでIronXLを使ってExcelフ...
公開日 2026年2月15日 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法 C#でOleDbとIronXLを使用してDataTableをExcelにエクスポートする方法を学びます。 詳しく読む
公開日 2026年2月15日 IronXLを使用してOfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法 IronXLを使用して、OfficeがインストールされていないVB.NETで既存のExcelファイルを開く方法について説明します。 詳しく読む
公開日 2026年2月15日 C# CSV to XLSX: 完全な開発者ガイド IronXLを使用してC#でCSVをXLSXに変換します。CSVファイルを読み込み、データ型を保持し、グラフを追加し、Microsoft Officeに依存せずにExcel形式にエクスポートします。 詳しく読む