IRONXLの使用 C#でOfficeを介さずにExcelファイルを生成する カーティス・チャウ 更新日:2025年10月19日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る IronXLを使ってC#でExcelファイルを作成します。IronXLは、Microsoft Officeを使わずにExcelスプレッドシートを作成、フォーマット、入力できるライブラリです。サーバー環境、Dockerコンテナ、CI/CDパイプラインに最適です。 Microsoft Office なしで Excel ファイルを生成する理由は何ですか? Office 不要の Excel 生成がDevOpsにとって重要な理由 Office を使用せずに Excel 生成機能を開発すると、主要な展開の課題に対処できます。 サーバー環境では、ライセンス コストとリソースの要求により、Microsoft Office が不足していることがよくあります。 各 Office のインストールには大量のディスク領域とメモリが必要になるため、クラウド展開やコンテナー化されたアプリケーションには適していません。 AWS Lambda にデプロイする場合や Docker コンテナで実行する場合、インフラストラクチャの自動化には軽量ソリューションが不可欠です。 IronXL は独立して機能することでこれらの制限を取り除きます。 Excel ファイルの生成は、変更なしで Windows、Linux、macOS、Docker コンテナー、または Azure App Services で実行されます。 このクロスプラットフォーム互換性により、一度記述し、.NET Framework、.NET Core、または .NET 8/9 アプリケーションを対象にしてどこでもデプロイできます。 .NET MAUIまたはBlazorを使用しているチームの場合、IronXL はすべての最新の .NET プラットフォーム間でスムーズに統合されます。 ! クロスプラットフォーム .NET 互換性図。Windows、Linux、Mac、Docker、Azure、AWS の展開オプションを備えた、さまざまな .NET バージョン (6-9、Core、Standard、Framework) での C#、F#、VB.NET のサポートを示します。 IronXL は、展開の柔軟性を最大限に高めるために、すべての主要な .NET プラットフォームとオペレーティング システムをサポートしています。 IronXLと他の Excel ライブラリを比較するとどうなりますか? フィーチャー IronXL EPPlus クローズドXML NPOI 価格 $749 $599 無料 無料 オフィス依存 なし なし なし なし パフォーマンス 40倍高速* 良い 適度 遅い メモリ使用量 1GB未満** 2~3GB 1~2GB 3~5GB Dockerサポート。 ネイティブ 制限的 基本 基本 フォーミュラサポート 165以上の機能 100+ 80歳以上 基本 商用サポート はい はい なし なし ラーニングカーブ 簡単 適度 適度 急 *最近のパフォーマンス改善に基づく **大きなExcelファイルを処理する場合 IronXLはどのようなパフォーマンス上の利点をもたらしますか? COM 相互運用性のオーバーヘッドなしでパフォーマンスが大幅に向上します。 従来の Office 自動化は各操作のために別々のプロセスインスタンスを作成し、メモリと CPU リソースを消費します。IronXLはすべてをアプリケーションのプロセススペース内でメモリ内で処理し、Excel ファイルをプログラムによって生成するときにより高速な実行と低いリソース消費を実現します。 このライブラリは大幅なパフォーマンス向上を遂げており、最近のアップデートでは速度が最大 40 倍向上し、メモリ使用量が 19.5 GB から 1 GB 未満に大幅に削減されました。 デプロイメントがシンプルになります。IronXL は単一の NuGet パッケージとして提供されます。 レジストリ エントリ、COM 登録、または Office サービス パックを保守する必要はありません。 継続的インテグレーション パイプラインはスムーズに動作し、Docker コンテナは軽量のままです。 この簡素化されたアプローチによりIronXLは人気の選択肢となりました。これは、専門家がInterop なしで Excel 自動化の経験を共有するさまざまな開発者フォーラムで議論されているとおりです。 ! IronXL の機能概要では、6 つの主要機能 (スプレッドシートの作成、複数の形式での保存とエクスポート、グラフを使用したワークブックの編集、数式を使用したデータの操作、パスワードによるワークブックの保護、セル操作機能) が表示されています。 IronXL は、直感的な API 設計を通じて完全な Excel 操作機能を提供します。 C# プロジェクトにIronXLをインストールするにはどうすればいいですか? DevOpsワークフローに最適なインストール方法は何ですか? NuGet パッケージ マネージャーを使用すると、IronXL のインストールはほんの数分で完了します。 Visual Studio でプロジェクトを右クリックし、"NuGet パッケージの管理"を選択します。"IronXL.Excel"を検索し、インストールをクリックします。 パッケージには、C# で Excel ファイルを生成するために必要なすべての依存関係が自動的に含まれます。 開発環境に固有の詳細なインストール ガイダンスについては、" Get Started Overview"を参照してください。 あるいは、パッケージマネージャーコンソールを使用します: Install-Package IronXL.Excel Install-Package IronXL.Excel SHELL ! パッケージ マネージャー コンソールに、Microsoft.Extensions やシステム ライブラリを含む 28 個の依存関係を含む IronXL.Excel のインストールが成功したことが示されています。 パッケージ マネージャー コンソールは、必要なすべての依存関係を備えたIronXLのインストールが正常に完了したことを確認します。 IronXLを CI/CD パイプラインと統合するにはどうすればよいですか? 自動ビルド パイプラインで最新の C# プロジェクトを操作する .NET CLI ユーザーの場合: dotnet add package IronXL.Excel dotnet add package IronXL.Excel SHELL コンテナ化されたデプロイメントの場合は、Dockerfile に以下を追加します。 RUN dotnet add package IronXL.Excel プログラムで Excel ファイルを作成するための簡単なテストでインストールを確認します。 using IronXL; // new Excel workbook var workbook = WorkBook.Create(); Console.WriteLine("IronXL installed successfully!"); using IronXL; // new Excel workbook var workbook = WorkBook.Create(); Console.WriteLine("IronXL installed successfully!"); Imports IronXL ' new Excel workbook Dim workbook = WorkBook.Create() Console.WriteLine("IronXL installed successfully!") $vbLabelText $csharpLabel このコードはメモリ内のワークブックオブジェクトを作成します。 エラーなく実行されれば、IronXL が使用準備完了であることを示しています。 ライブラリはすべてのモダンな .NET バージョンをサポートし、既存のプロジェクトと互換性があります。 VB.NET 開発者向けには、 VB 固有の構文例で同様の機能を利用できます。 従来のファイル形式で作業する場合やファイル サイズの問題が発生する場合は、ライブラリが完全なソリューションを提供します。 出力 ! Visual Studio のデバッグ コンソールに"IronXL が正常にインストールされました!"というメッセージが表示される コンソール出力により、IronXL が適切にインストールされ、Excel 生成タスクの準備ができていることが確認されます。 クイックスタート: C# で Excel ファイルを作成する IronXL で Excel ファイルを作成するには、数行のコードのみが必要なため、迅速な開発および展開のシナリオに最適です。 今すぐ NuGet で PDF を作成してみましょう: NuGet パッケージ マネージャーを使用して IronXL をインストールします PM > Install-Package IronXL.Excel このコード スニペットをコピーして実行します。 using IronXL; // Create a new workbook WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Add a worksheet WorkSheet sheet = workbook.CreateWorkSheet("Sales"); // Add data sheet["A1"].Value = "Product"; sheet["B1"].Value = "Quantity"; sheet["C1"].Value = "Revenue"; // Save the file workbook.SaveAs("sales_report.xlsx"); 実際の環境でテストするためにデプロイする 今すぐ無料トライアルでプロジェクトに IronXL を使い始めましょう 30日間無料トライアル 最初の Excel ファイルを作成するにはどうすればよいですか? 基本的な Excel 生成に必須の手順は何ですか? IronXL で Excel ファイルを作成するには、すべての Excel 操作への入り口となるWorkBookクラスから始まります。 ライブラリは、モダンな XLSX 形式とレガシーな XLS 形式の両方をサポートしており、C# で Excel ファイルを生成する際のさまざまな要件に柔軟性をもたらします。 スプレッドシート作成機能には、新しいワークブックを初期化するための完全なオプションが提供されます。 using IronXL; // Create a new workbook (XLSX format by default) WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Add metadata workbook.Metadata.Title = "Monthly Sales Report"; workbook.Metadata.Author = "Sales Department"; workbook.Metadata.Comments = "Generated using IronXL"; // Create a worksheet WorkSheet worksheet = workbook.CreateWorkSheet("January Sales"); // Add some basic data worksheet["A1"].Value = "Date"; worksheet["B1"].Value = "Product"; worksheet["C1"].Value = "Quantity"; worksheet["D1"].Value = "Revenue"; // Add data rows worksheet["A2"].Value = new DateTime(2024, 1, 15); worksheet["B2"].Value = "Widget Pro"; worksheet["C2"].Value = 100; worksheet["D2"].Value = 2500.00; // Save the workbook workbook.SaveAs("FirstExcelFile.xlsx"); using IronXL; // Create a new workbook (XLSX format by default) WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Add metadata workbook.Metadata.Title = "Monthly Sales Report"; workbook.Metadata.Author = "Sales Department"; workbook.Metadata.Comments = "Generated using IronXL"; // Create a worksheet WorkSheet worksheet = workbook.CreateWorkSheet("January Sales"); // Add some basic data worksheet["A1"].Value = "Date"; worksheet["B1"].Value = "Product"; worksheet["C1"].Value = "Quantity"; worksheet["D1"].Value = "Revenue"; // Add data rows worksheet["A2"].Value = new DateTime(2024, 1, 15); worksheet["B2"].Value = "Widget Pro"; worksheet["C2"].Value = 100; worksheet["D2"].Value = 2500.00; // Save the workbook workbook.SaveAs("FirstExcelFile.xlsx"); Imports IronXL ' Create a new workbook (XLSX format by default) Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) ' Add metadata workbook.Metadata.Title = "Monthly Sales Report" workbook.Metadata.Author = "Sales Department" workbook.Metadata.Comments = "Generated using IronXL" ' Create a worksheet Dim worksheet As WorkSheet = workbook.CreateWorkSheet("January Sales") ' Add some basic data worksheet("A1").Value = "Date" worksheet("B1").Value = "Product" worksheet("C1").Value = "Quantity" worksheet("D1").Value = "Revenue" ' Add data rows worksheet("A2").Value = New DateTime(2024, 1, 15) worksheet("B2").Value = "Widget Pro" worksheet("C2").Value = 100 worksheet("D2").Value = 2500.0 ' Save the workbook workbook.SaveAs("FirstExcelFile.xlsx") $vbLabelText $csharpLabel 生成された Excel ファイルでメタデータをどのように使用すればよいですか? このコードは Excel ファイル生成の主要な概念をいくつか示します。 WorkBook.Create() メソッドは、新しい Excel ファイルをメモリ内に初期化します。 フォーマットは、ExcelFileFormat列挙型を使用して指定します。最新のExcelとの互換性を確保する場合はXLSXを、レガシーサポートを確保する場合はXLSを選択します。 メタデータ プロパティを使用すると、Excel のファイル プロパティに表示されるドキュメント情報を埋め込むことができ、Microsoft のドキュメント プロパティ標準に準拠し、エンタープライズ環境でのファイルの整理に役立ちます。 ワークブックのメタデータの編集の詳細については、こちらをご覧ください。 CreateWorkSheet()メソッドは、指定された名前の新しいシートを追加します。 Excel のお馴染みのセル表記 (A1, B1 など) は、値を設定する際に直感的です。IronXL はデータ型変換を自動で処理し、日付、数値、テキストを明示的なキャストなしで認識します。 SaveAs()メソッドは、完全なExcelファイルをディスクに書き込みます。 ワークシートの操作の詳細については、ワークシート管理チュートリアルを参照してください。 出力 ! 日付、製品、数量、収益の列ヘッダーと 1 つのサンプルデータ行を含む売上データを表示する Excel ファイル 適切な列ヘッダーを持つ構造化データを表示するIronXLによって生成された基本的な Excel ファイル。 Excel セルにデータを書き込むにはどうすればいいですか? Excel データを入力するための効率的な方法は何ですか? IronXL は、個々のセルの割り当てから一括範囲操作まで、Excel セルの入力に複数のアプローチを提供します。 これらのメソッドを理解することで、データシナリオに最適なアプローチを選択できます。 Excel 値の書き込みガイドでは、利用可能なすべてのオプションが詳細に説明されています。 WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Create a worksheet WorkSheet worksheet = workbook.CreateWorkSheet("Employees"); // Individual cell assignment worksheet["A1"].Value = "Employee Name"; worksheet["A2"].Value = "John Smith"; worksheet["A3"].Value = "Jane Doe"; // Range assignment for multiple cells worksheet["B1:B3"].Value = "Active"; // Using numeric indices (0-based) worksheet.SetCellValue(0, 2, "Department"); // C1 worksheet.SetCellValue(1, 2, "Sales"); // C2 worksheet.SetCellValue(2, 2, "Marketing"); // C3 // Array-based population string[] headers = { "ID", "Name", "Email", "Phone" }; for (int i = 0; i < headers.Length; i++) { worksheet.SetCellValue(0, i, headers[i]); } // Working with different data types worksheet["E1"].Value = "Salary"; worksheet["E2"].Value = 75000.50m; // Decimal for currency worksheet["E3"].Value = 82000.75m; worksheet["F1"].Value = "Start Date"; worksheet["F2"].Value = new DateTime(2020, 3, 15); worksheet["F3"].Value = new DateTime(2019, 7, 1); worksheet["G1"].Value = "Full Time"; worksheet["G2"].Value = true; // Boolean worksheet["G3"].Value = true; workbook.SaveAs("EmployeeData.xlsx"); WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Create a worksheet WorkSheet worksheet = workbook.CreateWorkSheet("Employees"); // Individual cell assignment worksheet["A1"].Value = "Employee Name"; worksheet["A2"].Value = "John Smith"; worksheet["A3"].Value = "Jane Doe"; // Range assignment for multiple cells worksheet["B1:B3"].Value = "Active"; // Using numeric indices (0-based) worksheet.SetCellValue(0, 2, "Department"); // C1 worksheet.SetCellValue(1, 2, "Sales"); // C2 worksheet.SetCellValue(2, 2, "Marketing"); // C3 // Array-based population string[] headers = { "ID", "Name", "Email", "Phone" }; for (int i = 0; i < headers.Length; i++) { worksheet.SetCellValue(0, i, headers[i]); } // Working with different data types worksheet["E1"].Value = "Salary"; worksheet["E2"].Value = 75000.50m; // Decimal for currency worksheet["E3"].Value = 82000.75m; worksheet["F1"].Value = "Start Date"; worksheet["F2"].Value = new DateTime(2020, 3, 15); worksheet["F3"].Value = new DateTime(2019, 7, 1); worksheet["G1"].Value = "Full Time"; worksheet["G2"].Value = true; // Boolean worksheet["G3"].Value = true; workbook.SaveAs("EmployeeData.xlsx"); Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) ' Create a worksheet Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees") ' Individual cell assignment worksheet("A1").Value = "Employee Name" worksheet("A2").Value = "John Smith" worksheet("A3").Value = "Jane Doe" ' Range assignment for multiple cells worksheet("B1:B3").Value = "Active" ' Using numeric indices (0-based) worksheet.SetCellValue(0, 2, "Department") ' C1 worksheet.SetCellValue(1, 2, "Sales") ' C2 worksheet.SetCellValue(2, 2, "Marketing") ' C3 ' Array-based population Dim headers As String() = {"ID", "Name", "Email", "Phone"} For i As Integer = 0 To headers.Length - 1 worksheet.SetCellValue(0, i, headers(i)) Next ' Working with different data types worksheet("E1").Value = "Salary" worksheet("E2").Value = 75000.5D ' Decimal for currency worksheet("E3").Value = 82000.75D worksheet("F1").Value = "Start Date" worksheet("F2").Value = New DateTime(2020, 3, 15) worksheet("F3").Value = New DateTime(2019, 7, 1) worksheet("G1").Value = "Full Time" worksheet("G2").Value = True ' Boolean worksheet("G3").Value = True workbook.SaveAs("EmployeeData.xlsx") $vbLabelText $csharpLabel 大規模なデータセットを効率的に処理するにはどうすればよいですか? このコードはIronXLの柔軟なセルアドレス指定を示します。 文字列表記 ("A1") は Excel ユーザーにとって自然に感じられ、数値インデックスによってループや動的な生成のためにプログラム的な制御が提供されます。 範囲の割り当て ("B1:B3") は複数のセルを同じ値に効率的に設定し、列の初期化やデフォルト値の適用に最適です。 名前付き範囲または名前付きテーブルを操作する場合、IronXL は追加の組織機能を提供します。 より大きなデータセットのために、このパターンを検討してください: // Populate from a data source var employees = GetEmployeeData(); // Your data source for (int row = 0; row < employees.Count; row++) { worksheet[$"A{row + 2}"].Value = employees[row].Id; worksheet[$"B{row + 2}"].Value = employees[row].Name; worksheet[$"C{row + 2}"].Value = employees[row].Department; worksheet[$"D{row + 2}"].Value = employees[row].Salary; } // Populate from a data source var employees = GetEmployeeData(); // Your data source for (int row = 0; row < employees.Count; row++) { worksheet[$"A{row + 2}"].Value = employees[row].Id; worksheet[$"B{row + 2}"].Value = employees[row].Name; worksheet[$"C{row + 2}"].Value = employees[row].Department; worksheet[$"D{row + 2}"].Value = employees[row].Salary; } ' Populate from a data source Dim employees = GetEmployeeData() ' Your data source For row As Integer = 0 To employees.Count - 1 worksheet($"A{row + 2}").Value = employees(row).Id worksheet($"B{row + 2}").Value = employees(row).Name worksheet($"C{row + 2}").Value = employees(row).Department worksheet($"D{row + 2}").Value = employees(row).Salary Next $vbLabelText $csharpLabel このアプローチはデータコレクションを介して繰り返し、それぞれのプロパティを対応する列にマッピングします。 文字列の補間 ($"A{row + 2}") によって動的にセルアドレスが生成され、ヘッダーを保持するために 2 行目から開始します。 大規模なデータセットを扱う場合は、効率化のために行と列を動的に追加したり、セル範囲をコピーしたりすることができます。 出力 ! 従業員データのExcelスプレッドシートには、ID、名前、メール、部署、電話、給与、開始日、フルタイムステータスの列があり、2人の従業員レコードが表示されています。 IronXL の複数のデータ タイプとセル割り当て方法を示す従業員データ スプレッドシート。 プロフェッショナルな書式設定を適用するにはどうすればよいですか? エンタープライズ品質の Excel ファイルを作成するには何が必要ですか? プロフェッショナルな Excel ファイルには、生データ以上が必要です。IronXLのスタイリング API は、C# で Excel ファイルを生成するときに、書式設定、色、視覚的な階層を使用して、単純なスプレッドシートを洗練されたビジネス ドキュメントに変換します。 ライブラリには、視覚的に魅力的なスプレッドシートを作成するための完全なセル書式設定オプションが用意されています。 using IronXL; using IronXL.Formatting; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Create a worksheet WorkSheet worksheet = workbook.CreateWorkSheet("Employees"); // Add sample data first worksheet["A1"].Value = "ID"; worksheet["B1"].Value = "Name"; worksheet["C1"].Value = "Department"; worksheet["D1"].Value = "Phone"; worksheet["E1"].Value = "Salary"; worksheet["F1"].Value = "Start Date"; worksheet["G1"].Value = "Full Time"; // Add employee data worksheet["A2"].Value = 101; worksheet["B2"].Value = "John Smith"; worksheet["C2"].Value = "Sales"; worksheet["D2"].Value = "(555) 123-4567"; worksheet["E2"].Value = 75000.50m; worksheet["F2"].Value = new DateTime(2020, 3, 15); worksheet["G2"].Value = true; worksheet["A3"].Value = 102; worksheet["B3"].Value = "Jane Doe"; worksheet["C3"].Value = "Marketing"; worksheet["D3"].Value = "(555) 987-6543"; worksheet["E3"].Value = 82000.75m; worksheet["F3"].Value = new DateTime(2019, 7, 1); worksheet["G3"].Value = true; // Header formatting var headerRange = worksheet["A1:G1"]; headerRange.Style.Font.Bold = true; headerRange.Style.Font.Height = 12; headerRange.Style.SetBackgroundColor("#4472C4"); headerRange.Style.Font.Color = "#FFFFFF"; // Column width adjustment worksheet.AutoSizeColumn(0); // Auto-fit column A worksheet.SetColumnWidth(1, 20); // Set column B to 20 characters // Number formatting var salaryColumn = worksheet["E2:E3"]; salaryColumn.FormatString = "$#,##0.00"; // Date formatting var dateColumn = worksheet["F2:F3"]; dateColumn.FormatString = "MM/dd/yyyy"; // Cell borders var dataRange = worksheet["A1:G3"]; dataRange.Style.TopBorder.Type = IronXL.Styles.BorderType.Thin; dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin; dataRange.Style.LeftBorder.Type = IronXL.Styles.BorderType.Thin; dataRange.Style.RightBorder.Type = IronXL.Styles.BorderType.Thin; // To set border color, use: dataRange.Style.TopBorder.SetColor("#000000"); dataRange.Style.BottomBorder.SetColor("#000000"); dataRange.Style.LeftBorder.SetColor("#000000"); dataRange.Style.RightBorder.SetColor("#000000"); // Text alignment worksheet["A1:G1"].Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center; // Alternating row colors for readability for (int row = 2; row <= 3; row++) { if (row % 2 == 0) { worksheet[$"A{row}:G{row}"].Style.SetBackgroundColor("#F2F2F2"); } } workbook.SaveAs("FormattedEmployees.xlsx"); using IronXL; using IronXL.Formatting; WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX); // Create a worksheet WorkSheet worksheet = workbook.CreateWorkSheet("Employees"); // Add sample data first worksheet["A1"].Value = "ID"; worksheet["B1"].Value = "Name"; worksheet["C1"].Value = "Department"; worksheet["D1"].Value = "Phone"; worksheet["E1"].Value = "Salary"; worksheet["F1"].Value = "Start Date"; worksheet["G1"].Value = "Full Time"; // Add employee data worksheet["A2"].Value = 101; worksheet["B2"].Value = "John Smith"; worksheet["C2"].Value = "Sales"; worksheet["D2"].Value = "(555) 123-4567"; worksheet["E2"].Value = 75000.50m; worksheet["F2"].Value = new DateTime(2020, 3, 15); worksheet["G2"].Value = true; worksheet["A3"].Value = 102; worksheet["B3"].Value = "Jane Doe"; worksheet["C3"].Value = "Marketing"; worksheet["D3"].Value = "(555) 987-6543"; worksheet["E3"].Value = 82000.75m; worksheet["F3"].Value = new DateTime(2019, 7, 1); worksheet["G3"].Value = true; // Header formatting var headerRange = worksheet["A1:G1"]; headerRange.Style.Font.Bold = true; headerRange.Style.Font.Height = 12; headerRange.Style.SetBackgroundColor("#4472C4"); headerRange.Style.Font.Color = "#FFFFFF"; // Column width adjustment worksheet.AutoSizeColumn(0); // Auto-fit column A worksheet.SetColumnWidth(1, 20); // Set column B to 20 characters // Number formatting var salaryColumn = worksheet["E2:E3"]; salaryColumn.FormatString = "$#,##0.00"; // Date formatting var dateColumn = worksheet["F2:F3"]; dateColumn.FormatString = "MM/dd/yyyy"; // Cell borders var dataRange = worksheet["A1:G3"]; dataRange.Style.TopBorder.Type = IronXL.Styles.BorderType.Thin; dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin; dataRange.Style.LeftBorder.Type = IronXL.Styles.BorderType.Thin; dataRange.Style.RightBorder.Type = IronXL.Styles.BorderType.Thin; // To set border color, use: dataRange.Style.TopBorder.SetColor("#000000"); dataRange.Style.BottomBorder.SetColor("#000000"); dataRange.Style.LeftBorder.SetColor("#000000"); dataRange.Style.RightBorder.SetColor("#000000"); // Text alignment worksheet["A1:G1"].Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center; // Alternating row colors for readability for (int row = 2; row <= 3; row++) { if (row % 2 == 0) { worksheet[$"A{row}:G{row}"].Style.SetBackgroundColor("#F2F2F2"); } } workbook.SaveAs("FormattedEmployees.xlsx"); Imports IronXL Imports IronXL.Formatting Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) ' Create a worksheet Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees") ' Add sample data first worksheet("A1").Value = "ID" worksheet("B1").Value = "Name" worksheet("C1").Value = "Department" worksheet("D1").Value = "Phone" worksheet("E1").Value = "Salary" worksheet("F1").Value = "Start Date" worksheet("G1").Value = "Full Time" ' Add employee data worksheet("A2").Value = 101 worksheet("B2").Value = "John Smith" worksheet("C2").Value = "Sales" worksheet("D2").Value = "(555) 123-4567" worksheet("E2").Value = 75000.5D worksheet("F2").Value = New DateTime(2020, 3, 15) worksheet("G2").Value = True worksheet("A3").Value = 102 worksheet("B3").Value = "Jane Doe" worksheet("C3").Value = "Marketing" worksheet("D3").Value = "(555) 987-6543" worksheet("E3").Value = 82000.75D worksheet("F3").Value = New DateTime(2019, 7, 1) worksheet("G3").Value = True ' Header formatting Dim headerRange = worksheet("A1:G1") headerRange.Style.Font.Bold = True headerRange.Style.Font.Height = 12 headerRange.Style.SetBackgroundColor("#4472C4") headerRange.Style.Font.Color = "#FFFFFF" ' Column width adjustment worksheet.AutoSizeColumn(0) ' Auto-fit column A worksheet.SetColumnWidth(1, 20) ' Set column B to 20 characters ' Number formatting Dim salaryColumn = worksheet("E2:E3") salaryColumn.FormatString = "$#,##0.00" ' Date formatting Dim dateColumn = worksheet("F2:F3") dateColumn.FormatString = "MM/dd/yyyy" ' Cell borders Dim dataRange = worksheet("A1:G3") dataRange.Style.TopBorder.Type = IronXL.Styles.BorderType.Thin dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin dataRange.Style.LeftBorder.Type = IronXL.Styles.BorderType.Thin dataRange.Style.RightBorder.Type = IronXL.Styles.BorderType.Thin ' To set border color, use: dataRange.Style.TopBorder.SetColor("#000000") dataRange.Style.BottomBorder.SetColor("#000000") dataRange.Style.LeftBorder.SetColor("#000000") dataRange.Style.RightBorder.SetColor("#000000") ' Text alignment worksheet("A1:G1").Style.HorizontalAlignment = IronXL.Styles.HorizontalAlignment.Center ' Alternating row colors for readability For row As Integer = 2 To 3 If row Mod 2 = 0 Then worksheet($"A{row}:G{row}").Style.SetBackgroundColor("#F2F2F2") End If Next row workbook.SaveAs("FormattedEmployees.xlsx") $vbLabelText $csharpLabel 高度なスタイル設定機能を実装するにはどうすればいいですか? このフォーマットコードは、企業標準に合致するプロフェッショナルな外観を作成します。 背景パターンと色を使用した太字のヘッダーは視覚的な階層を確立します。 SetBackgroundColor() メソッドは 16 進色コードを受け入れ、カラースキームへの正確な制御を提供します。 フォント プロパティには、サイズ、色、太字、斜体、下線のオプションが含まれており、これらはすべて、企業のブランド ガイドラインに準拠した Excel ファイルを作成するために不可欠です。 高度なスタイル設定が必要な場合は、条件付き書式設定機能を検討してください。 列幅の調整は、テキストの切り捨てを防ぎます。 AutoSizeColumn() はコンテンツに自動的にフィットし、SetColumnWidth() は正確な制御を提供します。 行と列の自動サイズ変更機能により、データが最適に表示されます。 数値の書式設定には Excel の書式コードが使用されます。包括的な書式設定オプションについては、 Excel の数値書式の詳細を参照してください。 境界線とセルの配置によってデータの境界が定義され、読みやすさが向上します。 BorderType列挙型は、細線、中線、太線、点線、破線など、さまざまなスタイルを提供します。 境界線と配置のオプションでは、スプレッドシートの規則に従って、ヘッダーを中央揃えにし、数値を右揃えにします。 行の色が交互に変わること ("バンド行"と呼ばれることが多い) により、読者は幅広いデータ セットにわたって情報を追跡しやすくなります。 出力 ! 青いヘッダー、フォーマットされた通貨、日付、そして構造化された従業員情報を示すきれいな境界線を備えたプロフェッショナルなExcel従業員データ エンタープライズ ドキュメント向けのIronXLのスタイル機能を紹介する、専門的にフォーマットされた Excel ファイル。 Excel の数式をプログラムで使用するにはどうすればよいですか? 動的な計算を可能にする数式機能は何ですか? Excel フォーミュラは、自動計算でスプレッドシートに生命を吹き込みます。IronXLはフォーミュラの作成と評価をサポートしており、動的なスプレッドシートを自動的に更新できます。 ライブラリには 165 を超える Excel 関数のサポートが含まれており、プログラムで数式を編集できます。 var workbook = WorkBook.Create(); // Create a budget worksheet WorkSheet budget = workbook.CreateWorkSheet("Q1 Budget"); // Headers budget["A1"].Value = "Category"; budget["B1"].Value = "January"; budget["C1"].Value = "February"; budget["D1"].Value = "March"; budget["E1"].Value = "Q1 Total"; // Budget categories and values string[] categories = { "Salaries", "Marketing", "Operations", "Equipment", "Training" }; decimal[,] monthlyBudgets = { { 50000, 52000, 51000 }, { 15000, 18000, 20000 }, { 8000, 8500, 9000 }, { 12000, 5000, 7000 }, { 3000, 3500, 4000 } }; // Populate data for (int i = 0; i < categories.Length; i++) { budget[$"A{i + 2}"].Value = categories[i]; budget[$"B{i + 2}"].Value = monthlyBudgets[i, 0]; budget[$"C{i + 2}"].Value = monthlyBudgets[i, 1]; budget[$"D{i + 2}"].Value = monthlyBudgets[i, 2]; // Row total formula budget[$"E{i + 2}"].Formula = $"=SUM(B{i + 2}:D{i + 2})"; } // Monthly totals row budget["A7"].Value = "Monthly Total"; budget["B7"].Formula = "=SUM(B2:B6)"; budget["C7"].Formula = "=SUM(C2:C6)"; budget["D7"].Formula = "=SUM(D2:D6)"; budget["E7"].Formula = "=SUM(E2:E6)"; // Calculate percentages budget["A9"].Value = "Marketing %"; budget["B9"].Formula = "=B3/B7*100"; budget["C9"].Formula = "=C3/C7*100"; budget["D9"].Formula = "=D3/D7*100"; // Average calculation budget["A10"].Value = "Average Spending"; budget["B10"].Formula = "=AVERAGE(B2:B6)"; // Evaluate all formulas workbook.EvaluateAll(); workbook.SaveAs("Budget.xlsx"); var workbook = WorkBook.Create(); // Create a budget worksheet WorkSheet budget = workbook.CreateWorkSheet("Q1 Budget"); // Headers budget["A1"].Value = "Category"; budget["B1"].Value = "January"; budget["C1"].Value = "February"; budget["D1"].Value = "March"; budget["E1"].Value = "Q1 Total"; // Budget categories and values string[] categories = { "Salaries", "Marketing", "Operations", "Equipment", "Training" }; decimal[,] monthlyBudgets = { { 50000, 52000, 51000 }, { 15000, 18000, 20000 }, { 8000, 8500, 9000 }, { 12000, 5000, 7000 }, { 3000, 3500, 4000 } }; // Populate data for (int i = 0; i < categories.Length; i++) { budget[$"A{i + 2}"].Value = categories[i]; budget[$"B{i + 2}"].Value = monthlyBudgets[i, 0]; budget[$"C{i + 2}"].Value = monthlyBudgets[i, 1]; budget[$"D{i + 2}"].Value = monthlyBudgets[i, 2]; // Row total formula budget[$"E{i + 2}"].Formula = $"=SUM(B{i + 2}:D{i + 2})"; } // Monthly totals row budget["A7"].Value = "Monthly Total"; budget["B7"].Formula = "=SUM(B2:B6)"; budget["C7"].Formula = "=SUM(C2:C6)"; budget["D7"].Formula = "=SUM(D2:D6)"; budget["E7"].Formula = "=SUM(E2:E6)"; // Calculate percentages budget["A9"].Value = "Marketing %"; budget["B9"].Formula = "=B3/B7*100"; budget["C9"].Formula = "=C3/C7*100"; budget["D9"].Formula = "=D3/D7*100"; // Average calculation budget["A10"].Value = "Average Spending"; budget["B10"].Formula = "=AVERAGE(B2:B6)"; // Evaluate all formulas workbook.EvaluateAll(); workbook.SaveAs("Budget.xlsx"); Imports System Dim workbook = WorkBook.Create() ' Create a budget worksheet Dim budget As WorkSheet = workbook.CreateWorkSheet("Q1 Budget") ' Headers budget("A1").Value = "Category" budget("B1").Value = "January" budget("C1").Value = "February" budget("D1").Value = "March" budget("E1").Value = "Q1 Total" ' Budget categories and values Dim categories As String() = {"Salaries", "Marketing", "Operations", "Equipment", "Training"} Dim monthlyBudgets As Decimal(,) = { {50000, 52000, 51000}, {15000, 18000, 20000}, {8000, 8500, 9000}, {12000, 5000, 7000}, {3000, 3500, 4000} } ' Populate data For i As Integer = 0 To categories.Length - 1 budget($"A{i + 2}").Value = categories(i) budget($"B{i + 2}").Value = monthlyBudgets(i, 0) budget($"C{i + 2}").Value = monthlyBudgets(i, 1) budget($"D{i + 2}").Value = monthlyBudgets(i, 2) ' Row total formula budget($"E{i + 2}").Formula = $"=SUM(B{i + 2}:D{i + 2})" Next ' Monthly totals row budget("A7").Value = "Monthly Total" budget("B7").Formula = "=SUM(B2:B6)" budget("C7").Formula = "=SUM(C2:C6)" budget("D7").Formula = "=SUM(D2:D6)" budget("E7").Formula = "=SUM(E2:E6)" ' Calculate percentages budget("A9").Value = "Marketing %" budget("B9").Formula = "=B3/B7*100" budget("C9").Formula = "=C3/C7*100" budget("D9").Formula = "=D3/D7*100" ' Average calculation budget("A10").Value = "Average Spending" budget("B10").Formula = "=AVERAGE(B2:B6)" ' Evaluate all formulas workbook.EvaluateAll() workbook.SaveAs("Budget.xlsx") $vbLabelText $csharpLabel 一般的な数式の問題をトラブルシューティングするにはどうすればよいですか? この予算の例は、実際の計算式の適用方法を示しています。 Formula プロパティは、等号で始まる標準の Excel フォーミュラ構文を受け入れます。IronXLは一般的な関数に対応しています:SUM, AVERAGE, COUNT, MAX, MIN 他多数。 フォーミュラ内のセル参照は Excel と全く同様に、相対参照と絶対参照に対応しています。 より高度な計算については、 C# でのExcel の集計関数と Excel の数式を調べてください。 数式が期待どおりに計算されない場合: -正しい構文を確認してください: 数式は=で始まる必要があります -セル参照をチェックする:範囲が正しいことを確認します EvaluateAll()を呼び出す: 結果を確認するには保存する前に必要です -データ型の検証:数値セルにテキストではなく数値が含まれていることを確認します EvaluateAll() メソッドはすべてのフォーミュラを処理し、ワークブック全体で計算値を更新します。 これにより、Excel で開かれたときにフォーミュラが結果を表示することが保証されます。 評価なしでは、Excel は再計算をユーザーがトリガするまでフォーミュラを表示します。 C# での Excel 数式を含む複雑なシナリオに対して、IronXL は包括的なサポートを提供します。 出力 ! 第1四半期の予算Excelスプレッドシートには、月ごとの値、計算された合計、マーケティングの割合、平均支出の計算式を示す費用カテゴリが含まれています 合計とパーセンテージを自動的に計算するアクティブな数式を備えた予算ワークシート。 データベースから Excel にデータをエクスポートするにはどうすればよいですか? データベースから Excel へのエクスポートのベスト プラクティスは何ですか? 現実的なアプリケーションは、レポートや分析のためにデータベースデータを Excel にエクスポートすることが多々あります。IronXLは組み込みのDataTableサポートを使用してこのプロセスを合理化し、C# アプリケーションから Excel ファイルを生成するときに手動でフィールド マッピングする必要がなくなります。 このライブラリは、データベース統合とDataGrid 互換性のための複数のメソッドを提供します。 using System.Data; using System.Data.SqlClient; // Simulate database retrieval (replace with your actual database code) DataTable GetSalesData() { DataTable dt = new DataTable("Sales"); dt.Columns.Add("OrderID", typeof(int)); dt.Columns.Add("CustomerName", typeof(string)); dt.Columns.Add("Product", typeof(string)); dt.Columns.Add("Quantity", typeof(int)); dt.Columns.Add("UnitPrice", typeof(decimal)); dt.Columns.Add("OrderDate", typeof(DateTime)); // Sample data (normally from database) dt.Rows.Add(1001, "ABC Corp", "Widget Pro", 50, 25.99m, DateTime.Now.AddDays(-5)); dt.Rows.Add(1002, "XYZ Ltd", "Widget Basic", 100, 15.99m, DateTime.Now.AddDays(-4)); dt.Rows.Add(1003, "ABC Corp", "Widget Premium", 25, 45.99m, DateTime.Now.AddDays(-3)); dt.Rows.Add(1004, "Tech Solutions", "Widget Pro", 75, 25.99m, DateTime.Now.AddDays(-2)); dt.Rows.Add(1005, "XYZ Ltd", "Widget Premium", 30, 45.99m, DateTime.Now.AddDays(-1)); return dt; } // Export to Excel WorkBook reportWorkbook = WorkBook.Create(); WorkSheet reportSheet = reportWorkbook.CreateWorkSheet("Sales Report"); // Get data from database DataTable salesData = GetSalesData(); // Method 1: Manual mapping with formatting reportSheet["A1"].Value = "Order Report - " + DateTime.Now.ToString("MMMM yyyy"); reportSheet.Merge("A1:F1"); reportSheet["A1"].Style.Font.Bold = true; reportSheet["A1"].Style.Font.Height = 14; // Headers int headerRow = 3; for (int col = 0; col < salesData.Columns.Count; col++) { reportSheet.SetCellValue(headerRow - 1, col, salesData.Columns[col].ColumnName); } // Format headers var headers = reportSheet[$"A{headerRow}:F{headerRow}"]; headers.Style.Font.Bold = true; headers.Style.SetBackgroundColor("#D9E1F2"); // Data rows for (int row = 0; row < salesData.Rows.Count; row++) { for (int col = 0; col < salesData.Columns.Count; col++) { reportSheet.SetCellValue(row + headerRow, col, salesData.Rows[row][col]); } // Add total column with formula reportSheet[$"G{row + headerRow + 1}"].Formula = $"=D{row + headerRow + 1}*E{row + headerRow + 1}"; } // Add total header and format reportSheet["G3"].Value = "Total"; reportSheet["G3"].Style.Font.Bold = true; reportSheet["G3"].Style.SetBackgroundColor("#D9E1F2"); // Format currency columns reportSheet[$"E{headerRow + 1}:E{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00"; reportSheet[$"G{headerRow + 1}:G{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00"; // Format date column reportSheet[$"F{headerRow + 1}:F{headerRow + salesData.Rows.Count}"].FormatString = "MM/dd/yyyy"; // Add summary section int summaryRow = headerRow + salesData.Rows.Count + 2; reportSheet[$"A{summaryRow}"].Value = "Summary"; reportSheet[$"A{summaryRow}"].Style.Font.Bold = true; reportSheet[$"A{summaryRow + 1}"].Value = "Total Orders:"; reportSheet[$"B{summaryRow + 1}"].Formula = $"=COUNTA(A{headerRow + 1}:A{headerRow + salesData.Rows.Count})"; reportSheet[$"A{summaryRow + 2}"].Value = "Total Revenue:"; reportSheet[$"B{summaryRow + 2}"].Formula = $"=SUM(G{headerRow + 1}:G{headerRow + salesData.Rows.Count})"; reportSheet[$"B{summaryRow + 2}"].FormatString = "$#,##0.00"; // Auto-fit columns for (int col = 0; col <= 6; col++) { reportSheet.AutoSizeColumn(col); } // Evaluate formulas and save reportWorkbook.EvaluateAll(); reportWorkbook.SaveAs("DatabaseExport.xlsx"); using System.Data; using System.Data.SqlClient; // Simulate database retrieval (replace with your actual database code) DataTable GetSalesData() { DataTable dt = new DataTable("Sales"); dt.Columns.Add("OrderID", typeof(int)); dt.Columns.Add("CustomerName", typeof(string)); dt.Columns.Add("Product", typeof(string)); dt.Columns.Add("Quantity", typeof(int)); dt.Columns.Add("UnitPrice", typeof(decimal)); dt.Columns.Add("OrderDate", typeof(DateTime)); // Sample data (normally from database) dt.Rows.Add(1001, "ABC Corp", "Widget Pro", 50, 25.99m, DateTime.Now.AddDays(-5)); dt.Rows.Add(1002, "XYZ Ltd", "Widget Basic", 100, 15.99m, DateTime.Now.AddDays(-4)); dt.Rows.Add(1003, "ABC Corp", "Widget Premium", 25, 45.99m, DateTime.Now.AddDays(-3)); dt.Rows.Add(1004, "Tech Solutions", "Widget Pro", 75, 25.99m, DateTime.Now.AddDays(-2)); dt.Rows.Add(1005, "XYZ Ltd", "Widget Premium", 30, 45.99m, DateTime.Now.AddDays(-1)); return dt; } // Export to Excel WorkBook reportWorkbook = WorkBook.Create(); WorkSheet reportSheet = reportWorkbook.CreateWorkSheet("Sales Report"); // Get data from database DataTable salesData = GetSalesData(); // Method 1: Manual mapping with formatting reportSheet["A1"].Value = "Order Report - " + DateTime.Now.ToString("MMMM yyyy"); reportSheet.Merge("A1:F1"); reportSheet["A1"].Style.Font.Bold = true; reportSheet["A1"].Style.Font.Height = 14; // Headers int headerRow = 3; for (int col = 0; col < salesData.Columns.Count; col++) { reportSheet.SetCellValue(headerRow - 1, col, salesData.Columns[col].ColumnName); } // Format headers var headers = reportSheet[$"A{headerRow}:F{headerRow}"]; headers.Style.Font.Bold = true; headers.Style.SetBackgroundColor("#D9E1F2"); // Data rows for (int row = 0; row < salesData.Rows.Count; row++) { for (int col = 0; col < salesData.Columns.Count; col++) { reportSheet.SetCellValue(row + headerRow, col, salesData.Rows[row][col]); } // Add total column with formula reportSheet[$"G{row + headerRow + 1}"].Formula = $"=D{row + headerRow + 1}*E{row + headerRow + 1}"; } // Add total header and format reportSheet["G3"].Value = "Total"; reportSheet["G3"].Style.Font.Bold = true; reportSheet["G3"].Style.SetBackgroundColor("#D9E1F2"); // Format currency columns reportSheet[$"E{headerRow + 1}:E{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00"; reportSheet[$"G{headerRow + 1}:G{headerRow + salesData.Rows.Count}"].FormatString = "$#,##0.00"; // Format date column reportSheet[$"F{headerRow + 1}:F{headerRow + salesData.Rows.Count}"].FormatString = "MM/dd/yyyy"; // Add summary section int summaryRow = headerRow + salesData.Rows.Count + 2; reportSheet[$"A{summaryRow}"].Value = "Summary"; reportSheet[$"A{summaryRow}"].Style.Font.Bold = true; reportSheet[$"A{summaryRow + 1}"].Value = "Total Orders:"; reportSheet[$"B{summaryRow + 1}"].Formula = $"=COUNTA(A{headerRow + 1}:A{headerRow + salesData.Rows.Count})"; reportSheet[$"A{summaryRow + 2}"].Value = "Total Revenue:"; reportSheet[$"B{summaryRow + 2}"].Formula = $"=SUM(G{headerRow + 1}:G{headerRow + salesData.Rows.Count})"; reportSheet[$"B{summaryRow + 2}"].FormatString = "$#,##0.00"; // Auto-fit columns for (int col = 0; col <= 6; col++) { reportSheet.AutoSizeColumn(col); } // Evaluate formulas and save reportWorkbook.EvaluateAll(); reportWorkbook.SaveAs("DatabaseExport.xlsx"); Imports System.Data Imports System.Data.SqlClient ' Simulate database retrieval (replace with your actual database code) Function GetSalesData() As DataTable Dim dt As New DataTable("Sales") dt.Columns.Add("OrderID", GetType(Integer)) dt.Columns.Add("CustomerName", GetType(String)) dt.Columns.Add("Product", GetType(String)) dt.Columns.Add("Quantity", GetType(Integer)) dt.Columns.Add("UnitPrice", GetType(Decimal)) dt.Columns.Add("OrderDate", GetType(DateTime)) ' Sample data (normally from database) dt.Rows.Add(1001, "ABC Corp", "Widget Pro", 50, 25.99D, DateTime.Now.AddDays(-5)) dt.Rows.Add(1002, "XYZ Ltd", "Widget Basic", 100, 15.99D, DateTime.Now.AddDays(-4)) dt.Rows.Add(1003, "ABC Corp", "Widget Premium", 25, 45.99D, DateTime.Now.AddDays(-3)) dt.Rows.Add(1004, "Tech Solutions", "Widget Pro", 75, 25.99D, DateTime.Now.AddDays(-2)) dt.Rows.Add(1005, "XYZ Ltd", "Widget Premium", 30, 45.99D, DateTime.Now.AddDays(-1)) Return dt End Function ' Export to Excel Dim reportWorkbook As WorkBook = WorkBook.Create() Dim reportSheet As WorkSheet = reportWorkbook.CreateWorkSheet("Sales Report") ' Get data from database Dim salesData As DataTable = GetSalesData() ' Method 1: Manual mapping with formatting reportSheet("A1").Value = "Order Report - " & DateTime.Now.ToString("MMMM yyyy") reportSheet.Merge("A1:F1") reportSheet("A1").Style.Font.Bold = True reportSheet("A1").Style.Font.Height = 14 ' Headers Dim headerRow As Integer = 3 For col As Integer = 0 To salesData.Columns.Count - 1 reportSheet.SetCellValue(headerRow - 1, col, salesData.Columns(col).ColumnName) Next ' Format headers Dim headers = reportSheet($"A{headerRow}:F{headerRow}") headers.Style.Font.Bold = True headers.Style.SetBackgroundColor("#D9E1F2") ' Data rows For row As Integer = 0 To salesData.Rows.Count - 1 For col As Integer = 0 To salesData.Columns.Count - 1 reportSheet.SetCellValue(row + headerRow, col, salesData.Rows(row)(col)) Next ' Add total column with formula reportSheet($"G{row + headerRow + 1}").Formula = $"=D{row + headerRow + 1}*E{row + headerRow + 1}" Next ' Add total header and format reportSheet("G3").Value = "Total" reportSheet("G3").Style.Font.Bold = True reportSheet("G3").Style.SetBackgroundColor("#D9E1F2") ' Format currency columns reportSheet($"E{headerRow + 1}:E{headerRow + salesData.Rows.Count}").FormatString = "$#,##0.00" reportSheet($"G{headerRow + 1}:G{headerRow + salesData.Rows.Count}").FormatString = "$#,##0.00" ' Format date column reportSheet($"F{headerRow + 1}:F{headerRow + salesData.Rows.Count}").FormatString = "MM/dd/yyyy" ' Add summary section Dim summaryRow As Integer = headerRow + salesData.Rows.Count + 2 reportSheet($"A{summaryRow}").Value = "Summary" reportSheet($"A{summaryRow}").Style.Font.Bold = True reportSheet($"A{summaryRow + 1}").Value = "Total Orders:" reportSheet($"B{summaryRow + 1}").Formula = $"=COUNTA(A{headerRow + 1}:A{headerRow + salesData.Rows.Count})" reportSheet($"A{summaryRow + 2}").Value = "Total Revenue:" reportSheet($"B{summaryRow + 2}").Formula = $"=SUM(G{headerRow + 1}:G{headerRow + salesData.Rows.Count})" reportSheet($"B{summaryRow + 2}").FormatString = "$#,##0.00" ' Auto-fit columns For col As Integer = 0 To 6 reportSheet.AutoSizeColumn(col) Next ' Evaluate formulas and save reportWorkbook.EvaluateAll() reportWorkbook.SaveAs("DatabaseExport.xlsx") $vbLabelText $csharpLabel 大規模なデータベースのエクスポートを最適化するにはどうすればよいですか? この包括的な例では、C#でExcelファイルを生成するための完全なデータベースからExcelへのワークフローを示します。 DataTableは、データベースの検索をシミュレートしています。本番では、Entity Framework、Dapper、またはADO.NETを使用した実際のデータベースクエリに置き換えてください。 直接 SQL 統合の場合は、 SQL データベースから Excel を読み込むか、 Excel からデータベース レコードを更新することを検討してください。 大規模なデータベースのエクスポートの場合は、次の点を考慮してください。 -バッチ処理: メモリを管理するためにチャンクでエクスポートします -非同期操作: エクスポート中に UI の応答性を維持します -進捗状況レポート: ユーザーにエクスポートの進行状況を表示します -エラー処理: データベースのタイムアウトを適切に処理します コードはタイトル、フォーマットされたヘッダー、データ行でプロフェッショナルなレポートを作成します。 フォーミュラ列は、各行のトータルを動的に計算します。 概要セクションでは、Excel の数式を使用して注文数をカウントし、収益を合計し、データが変更された場合にこれらの値が更新されるようにします。 DataTablesではなくDataSetsを操作する場合は、データセットのエクスポート データテーブルガイドを参照してください。 出力 ! プロフェッショナルな販売レポート Excel ファイル。注文データ、計算された合計、フォーマットされた通貨、日付、および 5 件の注文 (合計 7,377.20 ドル) の概要統計が含まれています。 自動計算とフォーマットを使用してデータベース データから生成されるプロフェッショナルな販売レポート。 Excel レポートを効率化したいですか? ライセンスを取得して、IronXL の潜在能力を本番環境で最大限に活用しましょう。 複数のワークシートをどのように処理しますか? 複数シートのワークブックはいつ使用すればよいですか? 複雑な Excel ファイルはしばしば関連データを整理するために複数のワークシートを必要とします。IronXLは、作成、アクセス、ワークシートの整理のための直感的なメソッドで複数シートの管理を簡素化します。 高度なシナリオでのワークシートの管理とワークシート データのコピーについて詳しく説明します。 // Create a multi-sheet workbook WorkBook companyReport = WorkBook.Create(); // Create department sheets WorkSheet salesSheet = companyReport.CreateWorkSheet("Sales"); WorkSheet inventorySheet = companyReport.CreateWorkSheet("Inventory"); WorkSheet hrSheet = companyReport.CreateWorkSheet("HR Metrics"); // Populate Sales sheet salesSheet["A1"].Value = "Sales Dashboard"; salesSheet["A3"].Value = "Region"; salesSheet["B3"].Value = "Q1 Sales"; salesSheet["C3"].Value = "Q2 Sales"; string[] regions = { "North", "South", "East", "West" }; decimal[] q1Sales = { 250000, 180000, 220000, 195000 }; decimal[] q2Sales = { 275000, 195000, 240000, 210000 }; for (int i = 0; i < regions.Length; i++) { salesSheet[$"A{i + 4}"].Value = regions[i]; salesSheet[$"B{i + 4}"].Value = q1Sales[i]; salesSheet[$"C{i + 4}"].Value = q2Sales[i]; } // Populate Inventory sheet inventorySheet["A1"].Value = "Inventory Status"; inventorySheet["A3"].Value = "Product"; inventorySheet["B3"].Value = "Stock Level"; inventorySheet["C3"].Value = "Reorder Point"; inventorySheet["D3"].Value = "Status"; // Add inventory data with conditional status string[] products = { "Widget A", "Widget B", "Widget C" }; int[] stock = { 150, 45, 200 }; int[] reorderPoint = { 100, 50, 75 }; for (int i = 0; i < products.Length; i++) { inventorySheet[$"A{i + 4}"].Value = products[i]; inventorySheet[$"B{i + 4}"].Value = stock[i]; inventorySheet[$"C{i + 4}"].Value = reorderPoint[i]; // Status based on stock level string status = stock[i] <= reorderPoint[i] ? "REORDER" : "OK"; inventorySheet[$"D{i + 4}"].Value = status; // Color code status if (status == "REORDER") { inventorySheet[$"D{i + 4}"].Style.Font.Color = "#FF0000"; } } // Create summary sheet referencing other sheets WorkSheet summarySheet = companyReport.CreateWorkSheet("Summary"); summarySheet["A1"].Value = "Company Overview"; summarySheet["A3"].Value = "Metric"; summarySheet["B3"].Value = "Value"; summarySheet["A4"].Value = "Total Q1 Sales"; summarySheet["B4"].Formula = "=SUM(Sales!B4:B7)"; summarySheet["A5"].Value = "Total Q2 Sales"; summarySheet["B5"].Formula = "=SUM(Sales!C4:C7)"; summarySheet["A6"].Value = "Products Need Reorder"; summarySheet["B6"].Formula = "=COUNTIF(Inventory!D4:D6,\"REORDER\")"; // Format all sheets consistently foreach (WorkSheet sheet in companyReport.WorkSheets) { // Format headers sheet["A1"].Style.Font.Bold = true; sheet["A1"].Style.Font.Height = 14; var headerRow = sheet["A3:D3"]; headerRow.Style.Font.Bold = true; headerRow.Style.SetBackgroundColor("#E7E6E6"); } // Save multi-sheet workbook companyReport.SaveAs("CompanyReport.xlsx"); // Create a multi-sheet workbook WorkBook companyReport = WorkBook.Create(); // Create department sheets WorkSheet salesSheet = companyReport.CreateWorkSheet("Sales"); WorkSheet inventorySheet = companyReport.CreateWorkSheet("Inventory"); WorkSheet hrSheet = companyReport.CreateWorkSheet("HR Metrics"); // Populate Sales sheet salesSheet["A1"].Value = "Sales Dashboard"; salesSheet["A3"].Value = "Region"; salesSheet["B3"].Value = "Q1 Sales"; salesSheet["C3"].Value = "Q2 Sales"; string[] regions = { "North", "South", "East", "West" }; decimal[] q1Sales = { 250000, 180000, 220000, 195000 }; decimal[] q2Sales = { 275000, 195000, 240000, 210000 }; for (int i = 0; i < regions.Length; i++) { salesSheet[$"A{i + 4}"].Value = regions[i]; salesSheet[$"B{i + 4}"].Value = q1Sales[i]; salesSheet[$"C{i + 4}"].Value = q2Sales[i]; } // Populate Inventory sheet inventorySheet["A1"].Value = "Inventory Status"; inventorySheet["A3"].Value = "Product"; inventorySheet["B3"].Value = "Stock Level"; inventorySheet["C3"].Value = "Reorder Point"; inventorySheet["D3"].Value = "Status"; // Add inventory data with conditional status string[] products = { "Widget A", "Widget B", "Widget C" }; int[] stock = { 150, 45, 200 }; int[] reorderPoint = { 100, 50, 75 }; for (int i = 0; i < products.Length; i++) { inventorySheet[$"A{i + 4}"].Value = products[i]; inventorySheet[$"B{i + 4}"].Value = stock[i]; inventorySheet[$"C{i + 4}"].Value = reorderPoint[i]; // Status based on stock level string status = stock[i] <= reorderPoint[i] ? "REORDER" : "OK"; inventorySheet[$"D{i + 4}"].Value = status; // Color code status if (status == "REORDER") { inventorySheet[$"D{i + 4}"].Style.Font.Color = "#FF0000"; } } // Create summary sheet referencing other sheets WorkSheet summarySheet = companyReport.CreateWorkSheet("Summary"); summarySheet["A1"].Value = "Company Overview"; summarySheet["A3"].Value = "Metric"; summarySheet["B3"].Value = "Value"; summarySheet["A4"].Value = "Total Q1 Sales"; summarySheet["B4"].Formula = "=SUM(Sales!B4:B7)"; summarySheet["A5"].Value = "Total Q2 Sales"; summarySheet["B5"].Formula = "=SUM(Sales!C4:C7)"; summarySheet["A6"].Value = "Products Need Reorder"; summarySheet["B6"].Formula = "=COUNTIF(Inventory!D4:D6,\"REORDER\")"; // Format all sheets consistently foreach (WorkSheet sheet in companyReport.WorkSheets) { // Format headers sheet["A1"].Style.Font.Bold = true; sheet["A1"].Style.Font.Height = 14; var headerRow = sheet["A3:D3"]; headerRow.Style.Font.Bold = true; headerRow.Style.SetBackgroundColor("#E7E6E6"); } // Save multi-sheet workbook companyReport.SaveAs("CompanyReport.xlsx"); Imports System ' Create a multi-sheet workbook Dim companyReport As WorkBook = WorkBook.Create() ' Create department sheets Dim salesSheet As WorkSheet = companyReport.CreateWorkSheet("Sales") Dim inventorySheet As WorkSheet = companyReport.CreateWorkSheet("Inventory") Dim hrSheet As WorkSheet = companyReport.CreateWorkSheet("HR Metrics") ' Populate Sales sheet salesSheet("A1").Value = "Sales Dashboard" salesSheet("A3").Value = "Region" salesSheet("B3").Value = "Q1 Sales" salesSheet("C3").Value = "Q2 Sales" Dim regions As String() = {"North", "South", "East", "West"} Dim q1Sales As Decimal() = {250000D, 180000D, 220000D, 195000D} Dim q2Sales As Decimal() = {275000D, 195000D, 240000D, 210000D} For i As Integer = 0 To regions.Length - 1 salesSheet($"A{i + 4}").Value = regions(i) salesSheet($"B{i + 4}").Value = q1Sales(i) salesSheet($"C{i + 4}").Value = q2Sales(i) Next ' Populate Inventory sheet inventorySheet("A1").Value = "Inventory Status" inventorySheet("A3").Value = "Product" inventorySheet("B3").Value = "Stock Level" inventorySheet("C3").Value = "Reorder Point" inventorySheet("D3").Value = "Status" ' Add inventory data with conditional status Dim products As String() = {"Widget A", "Widget B", "Widget C"} Dim stock As Integer() = {150, 45, 200} Dim reorderPoint As Integer() = {100, 50, 75} For i As Integer = 0 To products.Length - 1 inventorySheet($"A{i + 4}").Value = products(i) inventorySheet($"B{i + 4}").Value = stock(i) inventorySheet($"C{i + 4}").Value = reorderPoint(i) ' Status based on stock level Dim status As String = If(stock(i) <= reorderPoint(i), "REORDER", "OK") inventorySheet($"D{i + 4}").Value = status ' Color code status If status = "REORDER" Then inventorySheet($"D{i + 4}").Style.Font.Color = "#FF0000" End If Next ' Create summary sheet referencing other sheets Dim summarySheet As WorkSheet = companyReport.CreateWorkSheet("Summary") summarySheet("A1").Value = "Company Overview" summarySheet("A3").Value = "Metric" summarySheet("B3").Value = "Value" summarySheet("A4").Value = "Total Q1 Sales" summarySheet("B4").Formula = "=SUM(Sales!B4:B7)" summarySheet("A5").Value = "Total Q2 Sales" summarySheet("B5").Formula = "=SUM(Sales!C4:C7)" summarySheet("A6").Value = "Products Need Reorder" summarySheet("B6").Formula = "=COUNTIF(Inventory!D4:D6,""REORDER"")" ' Format all sheets consistently For Each sheet As WorkSheet In companyReport.WorkSheets ' Format headers sheet("A1").Style.Font.Bold = True sheet("A1").Style.Font.Height = 14 Dim headerRow = sheet("A3:D3") headerRow.Style.Font.Bold = True headerRow.Style.SetBackgroundColor("#E7E6E6") Next ' Save multi-sheet workbook companyReport.SaveAs("CompanyReport.xlsx") $vbLabelText $csharpLabel 複数のシートにわたってデータを参照するにはどうすればよいですか? この例は、完全なマルチシートレポートを作成します。 各ワークシートは特定の目的に役立ちます: 販売データ、在庫管理、人事指標。 サマリシートは、クロスシートフォーミュラを使用して主要指標を統合します。 数式のシート参照構文に注意してください - " Sales!B4:B7 "は、Sales シートのセル B4 から B7 を参照します。 より複雑な操作については、 Excel の範囲の結合と行と列のグループ化を検討してください。 在庫シートは条件付きロジックを示し、在庫が少ないアイテムを赤色で塗りつぶして直ちに注意を引きます。 foreach ループは、全シートに一貫したフォーマットを適用し、ワークブック内で一貫したプロフェッショナルな外観を維持します。 シート名は Excel のタブとして表示されるため、ユーザーはさまざまなデータ ビュー間を簡単に移動できます。 高度なシナリオでは、大きなデータセットをスクロールするときにヘッダーが表示されたままになるように、固定ペインを追加することを検討してください。 Excel 生成のためのベストプラクティスは何ですか? 運用環境でスケーラブルな Excel 生成を確実に行うにはどうすればよいでしょうか? C# での効率的な Excel ファイル生成には、メモリ使用量、エラーハンドリング、デプロイメントへの思慮深いアプローチが必要です。 これらのプラクティスは、Excel スプレッドシートをプログラム的に作成する際に、アプリケーションが効果的にスケールし、信頼性を維持することを保証します。 エンタープライズ展開におけるセキュリティのベスト プラクティスとファイル保護オプションを確認します。 メモリ管理は、大きなファイルで重要になります。 すべてのデータセットをメモリにロードするのではなく、データをチャンク単位で処理します。 // Process large datasets efficiently public void ExportLargeDataset(string filename) { WorkBook workbook = WorkBook.Create(); WorkSheet sheet = workbook.CreateWorkSheet("Data"); int rowsPerBatch = 1000; int currentRow = 1; // Process in batches foreach (var batch in GetDataInBatches(rowsPerBatch)) { foreach (var record in batch) { sheet[$"A{currentRow}"].Value = record.Id; sheet[$"B{currentRow}"].Value = record.Name; sheet[$"C{currentRow}"].Value = record.Value; currentRow++; } } workbook.SaveAs(filename); } // Process large datasets efficiently public void ExportLargeDataset(string filename) { WorkBook workbook = WorkBook.Create(); WorkSheet sheet = workbook.CreateWorkSheet("Data"); int rowsPerBatch = 1000; int currentRow = 1; // Process in batches foreach (var batch in GetDataInBatches(rowsPerBatch)) { foreach (var record in batch) { sheet[$"A{currentRow}"].Value = record.Id; sheet[$"B{currentRow}"].Value = record.Name; sheet[$"C{currentRow}"].Value = record.Value; currentRow++; } } workbook.SaveAs(filename); } ' Process large datasets efficiently Public Sub ExportLargeDataset(filename As String) Dim workbook As WorkBook = WorkBook.Create() Dim sheet As WorkSheet = workbook.CreateWorkSheet("Data") Dim rowsPerBatch As Integer = 1000 Dim currentRow As Integer = 1 ' Process in batches For Each batch In GetDataInBatches(rowsPerBatch) For Each record In batch sheet($"A{currentRow}").Value = record.Id sheet($"B{currentRow}").Value = record.Name sheet($"C{currentRow}").Value = record.Value currentRow += 1 Next Next workbook.SaveAs(filename) End Sub $vbLabelText $csharpLabel DevOpsチームによくある問題は何ですか? 問題 解決 防止 メモリ不足 バッチ処理 バッチサイズを監視する ファイルロック ファイルではなくストリームを使用する 適切な廃棄を実施する ライセンスエラー コード内のライセンスを検証する ライセンスを正しく適用する パフォーマンス 非同期操作を有効にする プロファイルのボトルネック コンテナの問題 依存関係をインストールする ローカルのDockerでテストする エラーハンドリングはアプリケーションのクラッシュを防ぎ、Excel ファイルを生成する際に意味のあるフィードバックを提供します。 try { WorkBook workbook = WorkBook.Create(); // Excel generation code workbook.SaveAs("output.xlsx"); } catch (Exception ex) { // Log the error Console.WriteLine($"Excel generation failed: {ex.Message}"); // Implement appropriate recovery or notification } try { WorkBook workbook = WorkBook.Create(); // Excel generation code workbook.SaveAs("output.xlsx"); } catch (Exception ex) { // Log the error Console.WriteLine($"Excel generation failed: {ex.Message}"); // Implement appropriate recovery or notification } Imports System Try Dim workbook As WorkBook = WorkBook.Create() ' Excel generation code workbook.SaveAs("output.xlsx") Catch ex As Exception ' Log the error Console.WriteLine($"Excel generation failed: {ex.Message}") ' Implement appropriate recovery or notification End Try $vbLabelText $csharpLabel Web アプリケーションの場合、メモリ内に Excel ファイルを生成し、ユーザーにストリーミングします。 このアプローチは、 ASP.NET MVC アプリケーションで完璧に機能します。 // ASP.NET Core example public IActionResult DownloadExcel() { WorkBook workbook = GenerateReport(); var stream = new MemoryStream(); workbook.SaveAs(stream); stream.Position = 0; return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx"); } // ASP.NET Core example public IActionResult DownloadExcel() { WorkBook workbook = GenerateReport(); var stream = new MemoryStream(); workbook.SaveAs(stream); stream.Position = 0; return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx"); } Imports System.IO Imports Microsoft.AspNetCore.Mvc Public Function DownloadExcel() As IActionResult Dim workbook As WorkBook = GenerateReport() Dim stream As New MemoryStream() workbook.SaveAs(stream) stream.Position = 0 Return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx") End Function $vbLabelText $csharpLabel コンテナのデプロイメント用にIronXLを構成するにはどうすればよいでしょうか? デプロイメントの考慮は、スムーズな本番運用を保証します。IronXLは、昇格された権限なしで制限された環境で動作し、共有ホスティングおよびコンテナ化されたデプロイメントに適しています。IronXLライセンスファイルをデプロイメントパッケージに含め、必要に応じて一時ファイル操作のための書き込み権限があることを確認します。 適切なライセンス構成については、ライセンス キーの使用とweb.config のセットアップを参照してください。 Docker デプロイメントの場合: FROM mcr.microsoft.com/dotnet/runtime:8.0 WORKDIR /app COPY . . # 依存関係をインストールする for Excel operations RUN apt-get update && apt-get install -y libgdiplus ENV IRONXL_LICENSE_KEY=${IRONXL_LICENSE_KEY} ENTRYPOINT ["dotnet", "YourApp.dll"] 機密データを扱う場合は、ワークブックをパスワードで保護し、ワークシートをセキュリティで保護することを検討してください。IronXLは、Excel ファイルを不正アクセスから保護するための包括的なセキュリティ機能を提供します。 大きなファイルで最適なパフォーマンスを得るには、データのトリミングとセルのクリア戦略を実装して、ファイル サイズを効果的に管理します。 Linux 展開の場合は、 Linux セットアップ ガイドに従って適切な構成を確認してください。 AWS Lambda にデプロイする場合は、サーバーレス固有の構成についてはAWS デプロイガイドを参照してください。 このガイドの後の次のステップは何ですか? IronXL は、Excel ファイル生成を C# での複雑なチャレンジから簡単なコーディングに変えます。 ワークブック作成、セルの入力、フォーマットの適用、フォーミュラの使用、データベースデータのエクスポートを、Microsoft Office の依存なしで学びました。 プログラムによって Excel ファイルを生成するこれらの技術は、Windows、Linux、およびクラウドプラットフォーム全体で一貫して動作します。 高度な機能については、以下をご覧ください。 視覚的なデータ表現のためのExcel グラフの作成 レポートを強化するために画像を追加する インタラクティブドキュメントのハイパーリンクの操作 プロフェッショナルな出力のためのExcel 印刷設定 互換性を最大限に高めるためにスプレッドシートのファイル形式を変換します C# アプリケーションで Excel を生成する準備ができましたか? 無料トライアルを開始するか、高度な機能に関する包括的なAPI ドキュメントをご覧ください。 実稼働環境での展開の場合は、プロジェクト要件に一致するライセンス オプションを表示します。 ニーズの拡大に応じて、ライセンスの拡張とアップグレード パスを検討することを検討してください。 ! IronXL の価格帯は、開発者、場所、プロジェクトの制限が異なる Lite ($749)、Plus ($999)、Professional ($1,999)、Unlimited ($3,999) ライセンスを示しています 開発からエンタープライズ展開まで、Excel 生成のニーズに合わせて柔軟にカスタマイズできるライセンス オプション。 よくある質問 IronXLとは何ですか? IronXLは、Microsoft Officeや複雑なCOMインターロップを必要とせずに、C#でExcelファイルを作成、読み込み、編集することを可能にするライブラリです。 C#を使用してExcelファイルを生成するにはどうすればよいですか? IronXLを使用することで、C#でExcelファイルを生成できます。これは、Excelファイルをプログラム的に作成、フォーマット、および操作するための簡単なAPIを提供します。 IronXLを使用するためにMicrosoft Officeをインストールする必要がありますか? いいえ、IronXLを使用するには、システムにMicrosoft Officeをインストールする必要はありません。これは、Excelファイルの作成と編集のための軽量なソリューションです。 IronXLは高度なExcel書式設定を扱うことができますか? はい、IronXLは高度な書式設定オプションをサポートしており、スプレッドシートにスタイル、フォーマット、およびその他のExcel機能を適用することができます。 IronXLを使用してExcelファイルとデータベースを統合することは可能ですか? はい、IronXLを使用すると、Excelファイルをデータベースと統合でき、C#アプリケーションから直接データエクスポートやレポートの作成が容易になります。 IronXLはどのようなファイル形式を扱えますか? IronXLは、XLSおよびXLSXファイル形式の両方を扱うことができ、Excelファイルの取り扱いにおいて柔軟性を提供します。 IronXLを使用してスプレッドシート生成を自動化できますか? はい、IronXLを使用すると、スプレッドシートの生成を自動化することができ、レポート作成やデータエクスポートなどのタスクに最適です。 IronXLは.NETアプリケーションをサポートしていますか? IronXLは.NETアプリケーションと完全に互換性があり、C#プロジェクト内でシームレスな統合と機能性を提供します。 IronXL の一般的な使用例は何ですか? IronXLの一般的な使用例には、レポートの作成、データのエクスポート、スプレッドシートタスクの自動化、および.NETアプリケーション内でのExcel機能の統合があります。 IronXLはC#でのExcelファイル作成をどのように簡素化しますか? IronXLは、複雑なセットアップや依存関係の必要を排除し、開発プロセスを簡素化するシンプルで直感的なAPIを提供することで、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形式にエクスポートします。 詳しく読む C#でCSVファイルに書き込む方法IronXLを使用してC#で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形式にエクスポートします。 詳しく読む