IronXL ハウツー データセットとしてインポートおよびエクスポートする C# で DataSet/DataTable をインポート&Excelエクスポートする方法 カーティス・チャウ 更新日:2026年3月7日 IronXL をダウンロード NuGet ダウンロード DLL ダウンロード 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る This article was translated from English: Does it need improvement? Translated View the article in English IronXLは、単一のメソッド呼び出しでExcelワークブックとDataSetsを変換します。ToDataSet()を使用してワークブックをDataSetsとしてエクスポートし、xlsxファイルへのデータ出力やスプレッドシート作成を自動的に行います。 DataSetは、複数の関連するテーブル、リレーションシップ、および制約を含むデータのインメモリ表現です。 データベース、XML、その他のソースからのデータを扱うために使用されます。 C#でExcelファイルを操作するときに、DataSetはデータ駆動型のアプリケーションと統合するお馴染み for .NET構造を提供します。 DataSet内の行と列を持つ単一のテーブルを表します。 IronXLは、各Excelワークシートを対応するDataTableに自動的にマッピングし、変換中に列ヘッダーとデータ型を保持します。 クイックスタート: System.Data.DataSetとしてワークブックを即座にエクスポート ワークブックをDataSetに変換するのに必要なメソッド呼び出しは1つだけです。 この例では、オプションの最初の行のヘッダー認識を使用して、DataTableとしてエクスポートします。 IronXL をNuGetパッケージマネージャでインストール PM > Install-Package IronXl.Excel このコード スニペットをコピーして実行します。 DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); 実際の環境でテストするためにデプロイする 今日プロジェクトで IronXL を使い始めましょう無料トライアル Free 30 Day Trial ### 最小限のワークフロー(5ステップ) DataSet としてインポートおよびエクスポートするための C# ライブラリをダウンロードします。 Prepare the `DataSet` to import into a spreadsheet object Use the `LoadWorkSheetsFromDataSet` method to import the `DataSet` into the workbook Use the `ToDataSet` method to export the workbook as a `DataSet` 変換結果を確認する データセットをワークブックに読み込むには? 静的DataSetをワークブックにインポートします。 このメソッドには、Workbookの両方のオブジェクトが必要です。 Createメソッドを使用して、まずワークブックを作成します。 メソッドにworkbookオブジェクトを渡します。 :path=/static-assets/excel/content-code-examples/how-to/export-dataset-datatable-load.cs using IronXL; using System.Data; // Create dataset DataSet dataSet = new DataSet(); // Create workbook WorkBook workBook = WorkBook.Create(); // Load DataSet to workBook WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook); Imports IronXL Imports System.Data ' Create dataset Private dataSet As New DataSet() ' Create workbook Private workBook As WorkBook = WorkBook.Create() ' Load DataSet to workBook WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) $vbLabelText $csharpLabel DataSetは、別々のワークシートになります。 テーブル名はワークシート名となり、データ構成を維持します。 複数のデータソースについては、新しいスプレッドシートの作成または既存のワークシートの管理と組み合わせてください。 複数のテーブルを含むDataSetを読み込む包括的な例です: using IronXL; using System.Data; // Create a DataSet with multiple tables DataSet salesData = new DataSet("CompanySales"); // Create and populate a products table DataTable productsTable = new DataTable("Products"); productsTable.Columns.Add("ProductID", typeof(int)); productsTable.Columns.Add("ProductName", typeof(string)); productsTable.Columns.Add("Price", typeof(decimal)); // Add sample data productsTable.Rows.Add(1, "Laptop", 999.99m); productsTable.Rows.Add(2, "Mouse", 19.99m); productsTable.Rows.Add(3, "Keyboard", 49.99m); // Create and populate a sales table DataTable salesTable = new DataTable("Sales"); salesTable.Columns.Add("SaleID", typeof(int)); salesTable.Columns.Add("ProductID", typeof(int)); salesTable.Columns.Add("Quantity", typeof(int)); salesTable.Columns.Add("Date", typeof(DateTime)); // Add sample sales data salesTable.Rows.Add(1, 1, 5, DateTime.Now); salesTable.Rows.Add(2, 2, 25, DateTime.Now.AddDays(-1)); salesTable.Rows.Add(3, 3, 10, DateTime.Now.AddDays(-2)); // Add tables to DataSet salesData.Tables.Add(productsTable); salesData.Tables.Add(salesTable); // Create workbook and load DataSet WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook); // Save the workbook with all imported data workBook.SaveAs("SalesReport.xlsx"); using IronXL; using System.Data; // Create a DataSet with multiple tables DataSet salesData = new DataSet("CompanySales"); // Create and populate a products table DataTable productsTable = new DataTable("Products"); productsTable.Columns.Add("ProductID", typeof(int)); productsTable.Columns.Add("ProductName", typeof(string)); productsTable.Columns.Add("Price", typeof(decimal)); // Add sample data productsTable.Rows.Add(1, "Laptop", 999.99m); productsTable.Rows.Add(2, "Mouse", 19.99m); productsTable.Rows.Add(3, "Keyboard", 49.99m); // Create and populate a sales table DataTable salesTable = new DataTable("Sales"); salesTable.Columns.Add("SaleID", typeof(int)); salesTable.Columns.Add("ProductID", typeof(int)); salesTable.Columns.Add("Quantity", typeof(int)); salesTable.Columns.Add("Date", typeof(DateTime)); // Add sample sales data salesTable.Rows.Add(1, 1, 5, DateTime.Now); salesTable.Rows.Add(2, 2, 25, DateTime.Now.AddDays(-1)); salesTable.Rows.Add(3, 3, 10, DateTime.Now.AddDays(-2)); // Add tables to DataSet salesData.Tables.Add(productsTable); salesData.Tables.Add(salesTable); // Create workbook and load DataSet WorkBook workBook = WorkBook.Create(); WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook); // Save the workbook with all imported data workBook.SaveAs("SalesReport.xlsx"); Imports IronXL Imports System.Data ' Create a DataSet with multiple tables Dim salesData As New DataSet("CompanySales") ' Create and populate a products table Dim productsTable As New DataTable("Products") productsTable.Columns.Add("ProductID", GetType(Integer)) productsTable.Columns.Add("ProductName", GetType(String)) productsTable.Columns.Add("Price", GetType(Decimal)) ' Add sample data productsTable.Rows.Add(1, "Laptop", 999.99D) productsTable.Rows.Add(2, "Mouse", 19.99D) productsTable.Rows.Add(3, "Keyboard", 49.99D) ' Create and populate a sales table Dim salesTable As New DataTable("Sales") salesTable.Columns.Add("SaleID", GetType(Integer)) salesTable.Columns.Add("ProductID", GetType(Integer)) salesTable.Columns.Add("Quantity", GetType(Integer)) salesTable.Columns.Add("Date", GetType(DateTime)) ' Add sample sales data salesTable.Rows.Add(1, 1, 5, DateTime.Now) salesTable.Rows.Add(2, 2, 25, DateTime.Now.AddDays(-1)) salesTable.Rows.Add(3, 3, 10, DateTime.Now.AddDays(-2)) ' Add tables to DataSet salesData.Tables.Add(productsTable) salesData.Tables.Add(salesTable) ' Create workbook and load DataSet Dim workBook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(salesData, workBook) ' Save the workbook with all imported data workBook.SaveAs("SalesReport.xlsx") $vbLabelText $csharpLabel このアプローチは、SQLデータベースからデータをエクスポートするときや、複数のソースからExcel形式にデータを統合するときに効果的です。 さまざまなファイル形式からのスプレッドシートのインポートについては、既存のスプレッドシートの読み込み方法をご覧ください。 ワークブックをデータセットとしてエクスポートするには? ToDataSetメソッドはワークブックをSystem.Data.DataSetに変換し、各ワークシートはSystem.Data.DataTableになります。 Excelワークブックでこのメソッドを呼び出し、それをDataSetオブジェクトに変換します。 useFirstRowAsColumnNamesパラメータは、最初の行を列名として使用するかどうかを決定します。 :path=/static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs // このコードスニペットは利用できません! ' このコードスニペットは利用できません! $vbLabelText $csharpLabel IronXLはデータセットにエクスポートする際、データ型の変換を自動的に行い、スプレッドシートの構造を維持します。 ExcelデータをSQLデータベースと統合するときや、他 for .NETアプリケーションでデータを使用するときに役立ちます。 ワークブックのエクスポートとデータセットの処理を示す高度な例: using IronXL; using System; using System.Data; // Load an existing Excel file WorkBook workBook = WorkBook.Load("FinancialData.xlsx"); // Export to DataSet with column headers from first row DataSet financialDataSet = workBook.ToDataSet(useFirstRowAsColumnNames: true); // Process each DataTable in the DataSet foreach (DataTable table in financialDataSet.Tables) { Console.WriteLine($"Processing table: {table.TableName}"); Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}"); // Iterate through columns foreach (DataColumn column in table.Columns) { Console.WriteLine($" Column: {column.ColumnName} ({column.DataType})"); } // Process first 5 rows as example int rowCount = 0; foreach (DataRow row in table.Rows) { if (rowCount++ >= 5) break; // Access data by column name foreach (DataColumn col in table.Columns) { Console.WriteLine($" {col.ColumnName}: {row[col]}"); } } } // You can also export specific worksheets as DataTables WorkSheet specificSheet = workBook.WorkSheets["Q1Sales"]; DataTable q1Data = specificSheet.ToDataTable(useFirstRowAsColumnNames: true); // Use the DataTable with other .NET components // For example, bind to a DataGridView or save to database using IronXL; using System; using System.Data; // Load an existing Excel file WorkBook workBook = WorkBook.Load("FinancialData.xlsx"); // Export to DataSet with column headers from first row DataSet financialDataSet = workBook.ToDataSet(useFirstRowAsColumnNames: true); // Process each DataTable in the DataSet foreach (DataTable table in financialDataSet.Tables) { Console.WriteLine($"Processing table: {table.TableName}"); Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}"); // Iterate through columns foreach (DataColumn column in table.Columns) { Console.WriteLine($" Column: {column.ColumnName} ({column.DataType})"); } // Process first 5 rows as example int rowCount = 0; foreach (DataRow row in table.Rows) { if (rowCount++ >= 5) break; // Access data by column name foreach (DataColumn col in table.Columns) { Console.WriteLine($" {col.ColumnName}: {row[col]}"); } } } // You can also export specific worksheets as DataTables WorkSheet specificSheet = workBook.WorkSheets["Q1Sales"]; DataTable q1Data = specificSheet.ToDataTable(useFirstRowAsColumnNames: true); // Use the DataTable with other .NET components // For example, bind to a DataGridView or save to database Imports IronXL Imports System Imports System.Data ' Load an existing Excel file Dim workBook As WorkBook = WorkBook.Load("FinancialData.xlsx") ' Export to DataSet with column headers from first row Dim financialDataSet As DataSet = workBook.ToDataSet(useFirstRowAsColumnNames:=True) ' Process each DataTable in the DataSet For Each table As DataTable In financialDataSet.Tables Console.WriteLine($"Processing table: {table.TableName}") Console.WriteLine($"Columns: {table.Columns.Count}, Rows: {table.Rows.Count}") ' Iterate through columns For Each column As DataColumn In table.Columns Console.WriteLine($" Column: {column.ColumnName} ({column.DataType})") Next ' Process first 5 rows as example Dim rowCount As Integer = 0 For Each row As DataRow In table.Rows If rowCount >= 5 Then Exit For rowCount += 1 ' Access data by column name For Each col As DataColumn In table.Columns Console.WriteLine($" {col.ColumnName}: {row(col)}") Next Next Next ' You can also export specific worksheets as DataTables Dim specificSheet As WorkSheet = workBook.WorkSheets("Q1Sales") Dim q1Data As DataTable = specificSheet.ToDataTable(useFirstRowAsColumnNames:=True) ' Use the DataTable with other .NET components ' For example, bind to a DataGridView or save to database $vbLabelText $csharpLabel エクスポートされたDataSetは、Excelで定義されたリレーションシップと制約を維持し、複雑なExcelデータ構造をExcel Interopの依存性なしで操作するのに最適です。 データセット/データテーブルの追加機能 IronXLは、DataTableを扱うときに高度な機能を提供します: データ型の取り扱い IronXLはExcel-DataSet変換時にデータ型をインテリジェントにマッピングします。 数値セルは適切な数値型(stringになります。 変換前にセルのデータ形式を設定することでカスタマイズしてください。 パフォーマンス最適化 IronXLは大規模データセットのメモリ使用量と処理速度を最適化します。 このライブラリは、すべてをメモリにロードするのではなく、データを効率的にストリームします。 大量のデータを処理するエンタープライズ・アプリケーションに適しています。 他の機能との統合 DataSet/DataTable機能はIronXLの他の機能と統合されています: エクスポートする前に数式と計算を適用する 条件付き書式を使用して、変換前にデータを強調表示します。 チャート作成と組み合わせて、視覚的なレポートを作成します。 How to Save or Export Spreadsheets を参照して、スプレッドシートのさまざまなファイル形式へのエクスポートについて学んでください。 よくある質問 C#でExcelワークブックをDataSetに変換するにはどうすればよいですか? IronXLでは、ToDataSet()メソッドを使ってExcelワークブックをデータセットに変換することができます。WorkBook.ToDataSet(useFirstRowAsColumnNames:)を呼び出すだけで、各シートが結果のDataSetのDataTableになるワークブック全体をエクスポートできます。 プログラムによってExcelワークブックにデータセットをインポートできますか? はい、IronXLはデータセットをワークブックにインポートするためのLoadWorkSheetsFromDataSet()メソッドを提供しています。WorkBook.Create()を使用してワークブックを作成し、DataSetとワークブックの両方をこの静的メソッドに渡します。各データ・テーブルは個別のワークシートになります。 Excelにインポートすると、DataTable名はどうなりますか? IronXLのLoadWorkSheetsFromDataSet()メソッドを使用すると、各DataTable名は自動的にExcelのワークシート名になります。 このライブラリは、DataSetの変換時にカラムヘッダを保持しますか? はい、IronXLはExcelとDataSet間の変換時に列ヘッダーとデータ型を保持します。useFirstRowAsColumnNamesをtrueに設定してToDataSet()を使用すると、各ワークシートの最初の行が列ヘッダーとして認識されます。 ExcelとDataSetsの間で変換する場合、複数のテーブルはどのように扱われますか? IronXLはDataSetに変換する際、Excelの各ワークシートを対応するDataTableに自動的にマッピングします。複数のテーブルを持つDataSetをインポートする場合、各DataTableはワークブック内に個別のワークシートを作成します。 ExcelをDataSetにエクスポートするために必要な最小限のコードは何ですか? IronXLを使ってExcelワークブックをDataSetにエクスポートする最小のコードはたった1行です:DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); これでワークブック全体がシートからテーブルへの自動マッピングで変換されます。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 準備はできましたか? Nuget ダウンロード 1,948,677 | バージョン: 2026.4 リリース 無料トライアル NuGet 無料ダウンロード 総ダウンロード数: 1,948,677 ライセンスを見る まだスクロールしていますか? すぐに証拠が欲しいですか? PM > Install-Package IronXl.Excel サンプルを実行する あなたのデータがスプレッドシートになるのを見る。 NuGet 無料ダウンロード 総ダウンロード数: 1,948,677 ライセンスを見る