IRONXLの使用 C# オブジェクトリストをExcelにエクスポート カーティス・チャウ 更新日:2026年2月27日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る オブジェクトのコレクションをExcelファイルにエクスポートすることは、ビジネスアプリケーションの基本要件です。 レポートの作成、データ分析結果の共有、バックアップ用の Excel ワークシートの作成など、開発者は List<t> オブジェクトをProfessionalスプレッドシートに変換する信頼性の高い方法を必要としています。 IronXLは、サーバーにMicrosoft Officeをインストールすることなく、 .NET 10、 .NET Core、または.NET FrameworkでExcelファイルを作成する際の従来の困難を解消するソリューションを提供します。 リストをExcelファイルにエクスポートすることがなぜ難しいのですか? データをExcelにエクスポートする従来の方法は、多くの場合、Microsoft Office Interopを使用するが、これにはサーバーへのMS Excelのインストールが必要であり、導入上の問題を引き起こす。 リフレクションを使用した手動のセルごとの入力は時間を要し、エラーが起きやすいです。 IronXLのデータインポート機能は、データソースとExcelの列ヘッダー間のインテリジェントなプロパティマッピングによってこれらの問題を解決し、MS Officeや複雑なリフレクションコードを必要とせずに済みます。 このライブラリは型変換を自動的に処理し、ネストオブジェクトをサポートし、CSVやXLSXファイルのような異なる形式でのデータの一貫性を維持します。 Interopを使用せずにC#でExcel操作を行う開発者にとって、 IronXLは信頼性の高いExcel生成機能とデータインポート/エクスポート機能を必要とする最新 for .NETプロジェクトに最適な選択肢です。 IronXLはオブジェクトのエクスポートをどのように簡素化するのか? IronXLは、COM登録、Officeライセンス、および相互運用アセンブリの必要性を排除します。 List<t> を Excel にエクスポートすると、ライブラリは次のようになります。 オブジェクトのプロパティを列ヘッダーに直接マッピングします。 .NET型 (bool) を正しい Excel 表現に変換します。 セル値、範囲、書式設定をきめ細かく制御できます。 単一のメソッド呼び出しで、出力をXLSX、XLS、CSVなどの形式で保存します。 この方法を使えば、何百行もの定型コードを書かずに、きれいでProfessionalスプレッドシート出力を得ることができます。 後でExcelからデータをインポートすることもできるため、データの往復ワークフローが簡単になります。 IronXLのインストール方法を教えてください IronXLを使い始めるには、最小限の設定で済みます。NuGetパッケージマネージャーコンソールからライブラリをインストールしてください。 Install-Package IronXL Install-Package IronXL SHELL または.NET CLIを使用します: dotnet add package IronXL dotnet add package IronXL SHELL インストール後、ファイルに"using IronXL;"というディレクティブを追加してください。追加のOffice依存関係やランタイムのインストールは不要です。 シンプルなリストをExcelにエクスポートするにはどうすればよいですか? 次の例は、 .NET 10 で推奨されているトップレベルステートメントを使用して、Employee オブジェクトのリストを XLSX ファイルにエクスポートする方法を示しています。 using IronXL; using System.Data; // Define the Employee model record Employee(int Id, string Name, string Department, decimal Salary, DateTime HireDate); // Create sample employee data List<Employee> employees = [ new(1, "Alice Johnson", "Engineering", 95000, new DateTime(2020, 3, 15)), new(2, "Bob Smith", "Marketing", 75000, new DateTime(2021, 7, 1)), new(3, "Carol Williams","Engineering",105000, new DateTime(2019, 11, 20)) ]; // Build a DataTable from the list DataTable dataTable = new(); dataTable.Columns.Add("Id", typeof(int)); dataTable.Columns.Add("Name", typeof(string)); dataTable.Columns.Add("Department", typeof(string)); dataTable.Columns.Add("Salary", typeof(decimal)); dataTable.Columns.Add("HireDate", typeof(DateTime)); foreach (var emp in employees) dataTable.Rows.Add(emp.Id, emp.Name, emp.Department, emp.Salary, emp.HireDate); // Create an IronXL workbook and worksheet WorkBook workbook = new(); WorkSheet worksheet = workbook.CreateWorkSheet("Employees"); // Write headers for (int col = 0; col < dataTable.Columns.Count; col++) worksheet.SetCellValue(0, col, dataTable.Columns[col].ColumnName); // Write data rows for (int row = 0; row < dataTable.Rows.Count; row++) for (int col = 0; col < dataTable.Columns.Count; col++) worksheet.SetCellValue(row + 1, col, dataTable.Rows[row][col]); // Save as XLSX workbook.SaveAs("EmployeeReport.xlsx"); Console.WriteLine("EmployeeReport.xlsx saved."); using IronXL; using System.Data; // Define the Employee model record Employee(int Id, string Name, string Department, decimal Salary, DateTime HireDate); // Create sample employee data List<Employee> employees = [ new(1, "Alice Johnson", "Engineering", 95000, new DateTime(2020, 3, 15)), new(2, "Bob Smith", "Marketing", 75000, new DateTime(2021, 7, 1)), new(3, "Carol Williams","Engineering",105000, new DateTime(2019, 11, 20)) ]; // Build a DataTable from the list DataTable dataTable = new(); dataTable.Columns.Add("Id", typeof(int)); dataTable.Columns.Add("Name", typeof(string)); dataTable.Columns.Add("Department", typeof(string)); dataTable.Columns.Add("Salary", typeof(decimal)); dataTable.Columns.Add("HireDate", typeof(DateTime)); foreach (var emp in employees) dataTable.Rows.Add(emp.Id, emp.Name, emp.Department, emp.Salary, emp.HireDate); // Create an IronXL workbook and worksheet WorkBook workbook = new(); WorkSheet worksheet = workbook.CreateWorkSheet("Employees"); // Write headers for (int col = 0; col < dataTable.Columns.Count; col++) worksheet.SetCellValue(0, col, dataTable.Columns[col].ColumnName); // Write data rows for (int row = 0; row < dataTable.Rows.Count; row++) for (int col = 0; col < dataTable.Columns.Count; col++) worksheet.SetCellValue(row + 1, col, dataTable.Rows[row][col]); // Save as XLSX workbook.SaveAs("EmployeeReport.xlsx"); Console.WriteLine("EmployeeReport.xlsx saved."); Imports IronXL Imports System.Data ' Define the Employee model Public Class Employee Public Property Id As Integer Public Property Name As String Public Property Department As String Public Property Salary As Decimal Public Property HireDate As DateTime Public Sub New(id As Integer, name As String, department As String, salary As Decimal, hireDate As DateTime) Me.Id = id Me.Name = name Me.Department = department Me.Salary = salary Me.HireDate = hireDate End Sub End Class ' Create sample employee data Dim employees As New List(Of Employee) From { New Employee(1, "Alice Johnson", "Engineering", 95000D, New DateTime(2020, 3, 15)), New Employee(2, "Bob Smith", "Marketing", 75000D, New DateTime(2021, 7, 1)), New Employee(3, "Carol Williams", "Engineering", 105000D, New DateTime(2019, 11, 20)) } ' Build a DataTable from the list Dim dataTable As New DataTable() dataTable.Columns.Add("Id", GetType(Integer)) dataTable.Columns.Add("Name", GetType(String)) dataTable.Columns.Add("Department", GetType(String)) dataTable.Columns.Add("Salary", GetType(Decimal)) dataTable.Columns.Add("HireDate", GetType(DateTime)) For Each emp In employees dataTable.Rows.Add(emp.Id, emp.Name, emp.Department, emp.Salary, emp.HireDate) Next ' Create an IronXL workbook and worksheet Dim workbook As New WorkBook() Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Employees") ' Write headers For col As Integer = 0 To dataTable.Columns.Count - 1 worksheet.SetCellValue(0, col, dataTable.Columns(col).ColumnName) Next ' Write data rows For row As Integer = 0 To dataTable.Rows.Count - 1 For col As Integer = 0 To dataTable.Columns.Count - 1 worksheet.SetCellValue(row + 1, col, dataTable.Rows(row)(col)) Next Next ' Save as XLSX workbook.SaveAs("EmployeeReport.xlsx") Console.WriteLine("EmployeeReport.xlsx saved.") $vbLabelText $csharpLabel この例では、List<Employee> を DataTable に変換し、ヘッダーと行をIronXLワークシートに書き込みます。 IronXLは、DateTimeなどのデータ型を自動的に処理し、生成されるスプレッドシートの書式が整然としていることを保証します。 Excelの保存機能を使うと、あらゆる表計算ソフトで開けるXLSXファイルが生成されます。 複雑なビジネスオブジェクトをエクスポートするにはどうすればよいですか? 実際 for .NETアプリケーションは、より複雑なデータ構造を伴うことがよくあります。 次の例では、計算プロパティを含む製品在庫レポートを生成します。 using IronXL; using System.Data; // Define the Product model with a computed property record Product( string SKU, string ProductName, string Category, decimal Price, int StockLevel, bool IsActive, DateTime LastRestocked) { public decimal CalculatedValue => Price * StockLevel; } // Build the product list List<Product> products = [ new("TECH-001", "Wireless Mouse", "Electronics", 29.99m, 150, true, DateTime.Now.AddDays(-5)), new("TECH-002", "Mechanical Keyboard", "Electronics", 89.99m, 75, true, DateTime.Now.AddDays(-12)), new("OFF-001", "Desk Organizer", "Office Supplies", 15.99m, 0, false, DateTime.Now.AddMonths(-1)) ]; // Populate a DataTable DataTable dt = new(); dt.Columns.Add("SKU", typeof(string)); dt.Columns.Add("ProductName", typeof(string)); dt.Columns.Add("Category", typeof(string)); dt.Columns.Add("Price", typeof(decimal)); dt.Columns.Add("StockLevel", typeof(int)); dt.Columns.Add("IsActive", typeof(bool)); dt.Columns.Add("LastRestocked", typeof(DateTime)); dt.Columns.Add("CalculatedValue", typeof(decimal)); foreach (var p in products) dt.Rows.Add(p.SKU, p.ProductName, p.Category, p.Price, p.StockLevel, p.IsActive, p.LastRestocked, p.CalculatedValue); // Create the workbook WorkBook wb = WorkBook.Create(); WorkSheet ws = wb.CreateWorkSheet("Inventory"); // Write column headers string[] headers = ["SKU","ProductName","Category","Price", "StockLevel","IsActive","LastRestocked","CalculatedValue"]; for (int col = 0; col < headers.Length; col++) ws.SetCellValue(0, col, headers[col]); // Write data rows for (int row = 0; row < dt.Rows.Count; row++) for (int col = 0; col < dt.Columns.Count; col++) ws.SetCellValue(row + 1, col, dt.Rows[row][col]); // Auto-size columns for readability for (int col = 0; col < headers.Length; col++) ws.AutoSizeColumn(col); wb.SaveAs("ProductInventory.xlsx"); Console.WriteLine("ProductInventory.xlsx saved."); using IronXL; using System.Data; // Define the Product model with a computed property record Product( string SKU, string ProductName, string Category, decimal Price, int StockLevel, bool IsActive, DateTime LastRestocked) { public decimal CalculatedValue => Price * StockLevel; } // Build the product list List<Product> products = [ new("TECH-001", "Wireless Mouse", "Electronics", 29.99m, 150, true, DateTime.Now.AddDays(-5)), new("TECH-002", "Mechanical Keyboard", "Electronics", 89.99m, 75, true, DateTime.Now.AddDays(-12)), new("OFF-001", "Desk Organizer", "Office Supplies", 15.99m, 0, false, DateTime.Now.AddMonths(-1)) ]; // Populate a DataTable DataTable dt = new(); dt.Columns.Add("SKU", typeof(string)); dt.Columns.Add("ProductName", typeof(string)); dt.Columns.Add("Category", typeof(string)); dt.Columns.Add("Price", typeof(decimal)); dt.Columns.Add("StockLevel", typeof(int)); dt.Columns.Add("IsActive", typeof(bool)); dt.Columns.Add("LastRestocked", typeof(DateTime)); dt.Columns.Add("CalculatedValue", typeof(decimal)); foreach (var p in products) dt.Rows.Add(p.SKU, p.ProductName, p.Category, p.Price, p.StockLevel, p.IsActive, p.LastRestocked, p.CalculatedValue); // Create the workbook WorkBook wb = WorkBook.Create(); WorkSheet ws = wb.CreateWorkSheet("Inventory"); // Write column headers string[] headers = ["SKU","ProductName","Category","Price", "StockLevel","IsActive","LastRestocked","CalculatedValue"]; for (int col = 0; col < headers.Length; col++) ws.SetCellValue(0, col, headers[col]); // Write data rows for (int row = 0; row < dt.Rows.Count; row++) for (int col = 0; col < dt.Columns.Count; col++) ws.SetCellValue(row + 1, col, dt.Rows[row][col]); // Auto-size columns for readability for (int col = 0; col < headers.Length; col++) ws.AutoSizeColumn(col); wb.SaveAs("ProductInventory.xlsx"); Console.WriteLine("ProductInventory.xlsx saved."); Imports IronXL Imports System.Data ' Define the Product model with a computed property Public Class Product Public Property SKU As String Public Property ProductName As String Public Property Category As String Public Property Price As Decimal Public Property StockLevel As Integer Public Property IsActive As Boolean Public Property LastRestocked As DateTime Public ReadOnly Property CalculatedValue As Decimal Get Return Price * StockLevel End Get End Property Public Sub New(sku As String, productName As String, category As String, price As Decimal, stockLevel As Integer, isActive As Boolean, lastRestocked As DateTime) Me.SKU = sku Me.ProductName = productName Me.Category = category Me.Price = price Me.StockLevel = stockLevel Me.IsActive = isActive Me.LastRestocked = lastRestocked End Sub End Class ' Build the product list Dim products As New List(Of Product) From { New Product("TECH-001", "Wireless Mouse", "Electronics", 29.99D, 150, True, DateTime.Now.AddDays(-5)), New Product("TECH-002", "Mechanical Keyboard", "Electronics", 89.99D, 75, True, DateTime.Now.AddDays(-12)), New Product("OFF-001", "Desk Organizer", "Office Supplies", 15.99D, 0, False, DateTime.Now.AddMonths(-1)) } ' Populate a DataTable Dim dt As New DataTable() dt.Columns.Add("SKU", GetType(String)) dt.Columns.Add("ProductName", GetType(String)) dt.Columns.Add("Category", GetType(String)) dt.Columns.Add("Price", GetType(Decimal)) dt.Columns.Add("StockLevel", GetType(Integer)) dt.Columns.Add("IsActive", GetType(Boolean)) dt.Columns.Add("LastRestocked", GetType(DateTime)) dt.Columns.Add("CalculatedValue", GetType(Decimal)) For Each p In products dt.Rows.Add(p.SKU, p.ProductName, p.Category, p.Price, p.StockLevel, p.IsActive, p.LastRestocked, p.CalculatedValue) Next ' Create the workbook Dim wb As WorkBook = WorkBook.Create() Dim ws As WorkSheet = wb.CreateWorkSheet("Inventory") ' Write column headers Dim headers As String() = {"SKU", "ProductName", "Category", "Price", "StockLevel", "IsActive", "LastRestocked", "CalculatedValue"} For col As Integer = 0 To headers.Length - 1 ws.SetCellValue(0, col, headers(col)) Next ' Write data rows For row As Integer = 0 To dt.Rows.Count - 1 For col As Integer = 0 To dt.Columns.Count - 1 ws.SetCellValue(row + 1, col, dt.Rows(row)(col)) Next Next ' Auto-size columns for readability For col As Integer = 0 To headers.Length - 1 ws.AutoSizeColumn(col) Next wb.SaveAs("ProductInventory.xlsx") Console.WriteLine("ProductInventory.xlsx saved.") $vbLabelText $csharpLabel このコードは、SKU、価格、在庫レベル、再入荷日などの詳細を含む Product オブジェクトのリストを作成し、各アイテムの派生 CalculatedValue を計算します。 IronXLは、小数、ブール値、日付などのデータ型に対応しており、Professionalスプレッドシート出力を実現します。 結果として得られる ProductInventory.xlsx は、ビジネスレポートや分析に適した、クリーンでデータ駆動型の在庫エクスポートを提供します。 既存のコードベースが既に DataTable オブジェクトに対応している場合は、DataTable を Excel に直接エクスポートすることもできます。 列幅と行高さはどのように制御するのですか? データの書き込み後、スプレッドシートの表示レイアウトをプログラムで制御できます。 IronXL の AutoSizeColumn メソッドは、各列をその内容に合わせて調整します。 あるいは、保存する前に、列幅を明示的に設定したり、行や列を追加・削除したりして、シートの構造を調整することもできます。 行の高さについては、 IronXLレベルのプロパティを提供しており、固定ピクセル高さを設定できます。これは、ワークシートを印刷したり、PDFとして共有したりする場合に役立ちます。 列と行のサイズを統一することで、Excelファイルを異なる画面解像度で開いたり、異なる縮尺で印刷したりした場合でも、読みやすさが向上します。これは、外部の関係者に配布するレポートにとって特に重要です。 Professional書式設定を追加するにはどうすればよいですか? 書式設定により、基本的なエクスポートデータが洗練されたレポートに変換されます。 IronXLのスタイリングAPIは、任意のセルまたは範囲に対して、フォント、色、枠線、数値書式設定を公開します。 using IronXL; WorkBook wb = WorkBook.Load("ProductInventory.xlsx"); WorkSheet ws = wb.DefaultWorkSheet; // Bold header row with a blue background and white text Range headerRange = ws["A1:H1"]; headerRange.Style.Font.Bold = true; headerRange.Style.BackgroundColor = "#4472C4"; headerRange.Style.Font.Color = "#FFFFFF"; // Format the Price column as currency Range priceColumn = ws["D2:D100"]; priceColumn.Style.NumberFormat = "$#,##0.00"; // Highlight low-stock rows in red for (int row = 2; row <= 4; row++) { var stockCell = ws[$"E{row}"]; if (stockCell.IntValue < 10) stockCell.Style.BackgroundColor = "#FF6B6B"; } wb.SaveAs("FormattedInventory.xlsx"); Console.WriteLine("FormattedInventory.xlsx saved."); using IronXL; WorkBook wb = WorkBook.Load("ProductInventory.xlsx"); WorkSheet ws = wb.DefaultWorkSheet; // Bold header row with a blue background and white text Range headerRange = ws["A1:H1"]; headerRange.Style.Font.Bold = true; headerRange.Style.BackgroundColor = "#4472C4"; headerRange.Style.Font.Color = "#FFFFFF"; // Format the Price column as currency Range priceColumn = ws["D2:D100"]; priceColumn.Style.NumberFormat = "$#,##0.00"; // Highlight low-stock rows in red for (int row = 2; row <= 4; row++) { var stockCell = ws[$"E{row}"]; if (stockCell.IntValue < 10) stockCell.Style.BackgroundColor = "#FF6B6B"; } wb.SaveAs("FormattedInventory.xlsx"); Console.WriteLine("FormattedInventory.xlsx saved."); Imports IronXL Dim wb As WorkBook = WorkBook.Load("ProductInventory.xlsx") Dim ws As WorkSheet = wb.DefaultWorkSheet ' Bold header row with a blue background and white text Dim headerRange As Range = ws("A1:H1") headerRange.Style.Font.Bold = True headerRange.Style.BackgroundColor = "#4472C4" headerRange.Style.Font.Color = "#FFFFFF" ' Format the Price column as currency Dim priceColumn As Range = ws("D2:D100") priceColumn.Style.NumberFormat = "$#,##0.00" ' Highlight low-stock rows in red For row As Integer = 2 To 4 Dim stockCell = ws($"E{row}") If stockCell.IntValue < 10 Then stockCell.Style.BackgroundColor = "#FF6B6B" End If Next wb.SaveAs("FormattedInventory.xlsx") Console.WriteLine("FormattedInventory.xlsx saved.") $vbLabelText $csharpLabel これらのスタイリングオプションは、生のデータエクスポートを役員向けのレポートに変換します。 太字の見出しと背景色を組み合わせることで、視覚的な階層構造が生まれます。 数値の書式設定により、通貨の値が正しく表示されます。 条件付きフォーマットは、低在庫水準などの重要なビジネスメトリックを強調し、エクスポートされたExcelスプレッドシートをインベントリ管理のためにすぐに実行可能にします。 エクスポート機能をさらに向上させるには、高度なセル書式設定と罫線スタイルについて詳しく学ぶことができます。 条件付き書式をプログラムで適用するにはどうすればよいですか? IronXLは、Excelの組み込み機能と同様の条件付き書式設定ルールをサポートしています。 セル値のしきい値、テキストの一致、または日付範囲に基づいてルールを定義できます。 ルールが範囲に適用されると、 IronXLは対応するXLSX形式のメタデータを書き込むため、ExcelやGoogleスプレッドシートでファイルを開いたときに、期待どおりに動作します。 これは、エクスポートされたファイルを、単なる表形式のデータではなく、色分けされたレポートを期待する非技術系の関係者が閲覧する場合に特に役立ちます。 エクスポート前にデータを並べ替えたり、フィルタリングしたりするにはどうすればよいですか? Excel に書き込む前に、List<t> を並べ替えたり、フィルターをかけたりすることができます。 標準のLINQを使用すると、従業員を部署別や給与別に並べ替えたり、商品を有効な商品のみに絞り込んだりすることができます。 フィルタリングされたリストが準備できたら、上記で示したのと同じ列ごとの方法でワークシートに書き込みます。 IronXLは、既にデータが入力されている範囲内のセルをワークブック内で直接並べ替えることもサポートしており、元のコレクションに戻ることなく、データ入力後の並べ替えを行うことができます。 リストを他のファイル形式にエクスポートするにはどうすればよいですか? IronXLはXLSXに限定されません。 同じ WorkBook オブジェクトを、単一のメソッド変更で複数の形式で保存できます。 XLSX -- デフォルトの最新の Excel フォーマット: workbook.SaveAs("output.xlsx") XLS -- 旧バージョンのOffice向けの従来のExcel形式 CSV -- データパイプライン互換性のためのカンマ区切り値 TSV -- タブ区切り値 CSV形式でエクスポートする場合、各ワークシートは個別のCSVファイルになります。これにより、 IronXLはエンドユーザー向けレポートだけでなく、ETLパイプライン、データサイエンスツール、サードパーティAPIで使用される中間データファイルの生成にも役立ちます。Windowsフォームアプリケーションでよく見られるDataGridViewデータのエクスポートに関しては、 IronXLは追加のアダプタを必要とせずにスムーズに統合できます。 大規模なデータセットを効率的に処理するにはどうすればよいでしょうか? 数千行をエクスポートする場合、パフォーマンスが問題となる。 以下のガイドラインを念頭に置いてください。 リフレクションから個々のセルセッターメソッドを繰り返し呼び出すのではなく、まず DataTable にデータを入力し、ループ内で行を書き込みます。 すべてのデータが書き込まれた後にのみ AutoSizeColumn を呼び出してください。これは読み取りスキャン操作です。 ワークブックを開いて再読み込みと再保存を繰り返すループを避ける - メモリ上に完全なデータセットを構築してから、SaveAs を一度呼び出します。 10万行を超えるデータセットの場合は、Excelの行数制限を維持し、ファイルサイズを管理しやすい範囲に保つために、エクスポートを複数のワークシートに分割することを検討してください。 IronXL は、 ASP.NET Coreエクスポート ワークフローも提供しており、XLSX ファイルは MemoryStream に直接書き込まれ、ディスク I/O を完全にバイパスしてファイル ダウンロード レスポンスとして返されます。 ASP.NET CoreでリストをExcelにエクスポートするにはどうすればよいですか? Web APIやRazor Pagesアプリケーションを構築する場合、通常はExcelファイルをディスクに保存するのではなく、HTTPレスポンスとして返すことが望ましいでしょう。 以下のパターンは、コントローラーアクションから FileContentResult を返します。 コントローラは、WorkBook を構築し、workbook.ToByteArray() を呼び出し、MIME タイプ application/vnd.openxmlformats-officedocument.spreadsheetml.sheet と Content-Disposition: attachment ヘッダーを持つバイトを返すサービスを挿入します。 この方法は、 .NET 10の最小限のAPIまたはMVCコントローラーであればどれでも機能します。 詳しい手順については、 ASP.NET Core のExcel エクスポート チュートリアルを参照してください。Blazor WebAssembly またはBlazor Server アプリケーションを構築する場合は、 Blazor Blazorチュートリアルも参照してください。 IronXLを今日から使い始めるにはどうすればいいですか? IronXLは、Excelファイル生成という作業を保守しやすいコードに変換します。 そのAPIはMicrosoft Officeへの依存を排除しつつ、Enterprise要件を満たすProfessional結果を提供する。 このライブラリの機能セットは、基本的なリストのエクスポートから、スタイル設定や書式設定を伴う複雑なデータ変換まで、あらゆる処理に対応しています。 IronXLを使用すると、既存のワークブックを読み込んで編集したり、 ExcelデータをDataTableにエクスポートしてさらに処理したり、サマリーレポート用の ピボットテーブルを作成したりすることもできます。 これらの機能のいずれかを上記の書式設定オプションと組み合わせることで、配布前に手動で調整する必要のないスプレッドシートを作成できます。 IronXLはNuGetで入手可能で、 .NET 10、 .NET 8、または.NET Framework 4.6.2以降をターゲットとするプロジェクトで動作します。 IronXLが読み書きするXLSXファイル形式はOpen XML SDKを基盤としており、生成されたファイルがECMA-376規格に準拠し、OOXML互換アプリケーションで正しく開くことが保証されます。 今IronXLを始めましょう。 無料で始める C#のリストをExcelにエクスポートする準備はできましたか? IronXLを今すぐダウンロードして、 .NETアプリケーションでリストオブジェクトをExcelにどれだけ迅速に変換できるかを体験してください。 本番環境への導入には、ニーズに合わせて拡張可能な柔軟なライセンスオプションをご検討ください。 より詳しいチュートリアルや例については、ドキュメントをご覧ください。 よくある質問 C#のリストをExcelファイルにエクスポートする方法を教えてください。 IronXLのImportDataメソッドを使用すると、C#のリストをExcelファイルにエクスポートできます。 なぜIronXLを使ってデータをExcelにエクスポートする必要があるのですか? IronXLは、従来の複雑さを排除し、.NET、.NET Core、または.NET Frameworkとの容易な統合を提供することで、データをExcelにエクスポートするための合理化されたソリューションを提供します。 IronXLを使用するためにMicrosoft Officeをインストールする必要がありますか? IronXLはMicrosoft Officeのインストールを必要としません。IronXLは独立して動作し、プログラムによってExcelファイルを作成、操作することができます。 IronXLはリスト内の複雑なオブジェクトをExcelにエクスポートできますか? IronXLは一般的なリストと複雑なオブジェクトの両方を扱うことができ、様々な種類のデータを柔軟にExcelにエクスポートすることができます。 IronXLは.NET Coreに対応していますか? IronXLは.NET Core、.NET、.NET Frameworkと互換性があり、さまざまな開発環境に対応します。 IronXLのImportDataメソッドを使う利点は何ですか? IronXLのImportDataメソッドは、C#のリストからExcelへのデータ転送プロセスを簡素化し、コードの複雑さを軽減して生産性を向上させます。 IronXLを使ってProfessionalなスプレッドシートを作成できますか? IronXLを使用すれば、開発者はListオブジェクトを簡単にプロフェッショナルなスプレッドシートに変換でき、レポートやデータ共有、バックアップに適しています。 IronXLを使用するためのコード例はありますか? IronXLのドキュメントとチュートリアルでは、一般的なリストや複雑なオブジェクトをExcelにエクスポートするための簡単なコード例を提供しています。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター 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 ワークブックを読み込む方法について説明します。 詳しく読む IronXLを使用して C# で HTML テーブルを Excel にエクスポートする方法IronXLで.NET Core 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 ワークブックを読み込む方法について説明します。 詳しく読む