如何在 C# 中导入和导出数据集/数据表 IronXL 通过调用单个方法在 Excel 工作簿和数据集之间进行转换--使用 `LoadWorkSheetsFromDataSet()` 将数据集导入工作簿,以及使用 `ToDataSet()` 将工作簿导出为数据集,并自动进行工作表到表格的映射。 `DataSet` 是包含多个相关表、关系和约束的数据的内存表示。 用于处理数据库、XML 和其他来源的数据。 当在 C# 中处理 Excel 文件时,`DataSet` 提供了一种熟悉的 .NET 结构,可与数据驱动型应用程序集成。 `DataTable` 表示 `DataSet` 中具有行和列的单个表格。 IronXL.Excel 会自动将每个 Excel 工作表映射到相应的 `DataTable` 中,并在转换过程中保留列标题和数据类型。 *as-heading:2(快速入门:立即将工作簿导出为 System.Data.DataSet)* 将工作簿转换为 `DataSet` 只需调用一个方法。 本示例使用 `ToDataSet` 导出您的整个工作簿--每张工作表作为 `DataTable` 并可选择识别第一行标题。 ```cs :title=Export Your Workbook to DataSet in a Single Line DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); ```最小工作流程(5 个步骤)
- 下载用于导入和导出为数据集的 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` - 检查转换结果
开始使用 IronXL
今天在您的项目中使用 IronXL,免费试用。
----------------------------------如何将数据集加载到工作簿中? 使用静态 `LoadWorkSheetsFromDataSet` 方法将 `DataSet` 导入工作簿。 此方法需要 `DataSet` 和 `Workbook` 对象。 首先使用 `Create` 方法创建工作簿。 将 `DataSet` 对象和 `workbook` 对象传递给方法。 ```csharp :path=/static-assets/excel-content-code-examples/how-to/export-dataset-datatable-load.cs ``` `DataSet` 中的每个 `DataTable` 都将成为一个单独的工作表。 表格名称变为工作表名称,以保持数据的条理性。 对于多个数据源,请将其与[创建新电子表格](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)或[管理现有工作表](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/)相结合。 下面是一个加载包含多个表的 `DataSet` 的综合示例: ```csharp 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"); ``` 在 [ 从 SQL 数据库](https://ironsoftware.com/csharp/excel/examples/excel-sql-dataset/)导出数据或将多个来源的数据合并为 Excel 格式时,这种方法非常有效。 请访问 [ 如何加载现有电子表格](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/),了解从各种文件格式导入电子表格的方法。
如何将工作簿导出为数据集? `ToDataSet` 方法将工作簿转换为 **System.Data.DataSet**,其中每个工作表都将成为 **System.Data.DataTable**。 在 Excel 工作簿上调用此方法可将其转换为 `DataSet` 对象。 **useFirstRowAsColumnNames** 参数决定是否将第一行用作列名。 ```csharp :path=/static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs ``` IronXL 可自动处理数据类型转换,并在导出到 DataSets 时保持电子表格结构。 这有助于[将 Excel 数据与 SQL 数据库集成](https://ironsoftware.com/csharp/excel/examples/excel-sql-datatable/)或在其他 .NET 应用程序中使用数据。 演示工作簿导出和数据集处理的高级示例: ```csharp 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 ``` 导出的 `DataSet` 保留了在 Excel 中定义的关系和约束,非常适合 [在没有 Excel Interop 依赖性的情况下使用复杂的 Excel 数据结构](https://ironsoftware.com/csharp/excel/how-to/c-sharp-excel-interop/)。 ## 额外的 DataSet/DataTable 功能 IronXL 在使用 `DataSet` 和 `DataTable` 时提供了高级功能: ### 处理数据类型 IronXL.Excel 可在 Excel-DataSet 转换过程中智能映射数据类型。 数字单元格变为适当的数字类型(`int`, `decimal`, `double` ),日期单元格变为 `DateTime` 对象,文本单元格变为 `string`s 。 在转换之前,通过 [ 设置单元格数据格式](https://ironsoftware.com/csharp/excel/how-to/set-cell-data-format/)进行自定义。 ### 性能优化 IronXL 可优化内存使用和大型数据集的处理速度。 该库能有效地将数据流而不是将所有内容加载到内存中。 适用于处理大量数据的[企业应用程序](https://ironsoftware.com/csharp/excel/licensing/)。 ### 与其他功能集成 DataSet/DataTable 功能与 IronXL 的其他功能集成: - 在导出到 `DataSet` 之前应用 [ 公式和计算](https://ironsoftware.com/csharp/excel/how-to/edit-formulas/)。 - 在转换前使用 [ 条件格式化](https://ironsoftware.com/csharp/excel/how-to/conditional-formatting/)来突出显示数据 - 结合[图表创建](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/)进行可视化报告 请访问 [ 如何保存或导出电子表格](https://ironsoftware.com/csharp/excel/examples/export-excel-spreadsheet/),了解如何将电子表格导出为各种文件格式。常见问题解答
如何在 C# 中将 Excel 工作簿转换为数据集?
通过 IronXL,您可以使用 ToDataSet() 方法将 Excel 工作簿转换为数据集。只需调用 WorkBook.ToDataSet(useFirstRowAsColumnNames:true),即可导出整个工作簿,其中每个工作表都将成为生成的数据集中的一个数据表。
能否以编程方式将数据集导入 Excel 工作簿?
是的,IronXL 提供了 LoadWorkSheetsFromDataSet() 方法,用于将 DataSet 导入工作簿。使用 WorkBook.Create()创建工作簿,然后将数据集和工作簿传递给此静态方法。每个 DataTable 都将成为一个单独的工作表。
导入 Excel 时,DataTable 名称会发生什么变化?
使用 IronXL.Excel 的 LoadWorkSheetsFromDataSet() 方法时,每个 DataTable 名称都会自动变成 Excel 中的工作表名称,从而维护您的数据组织,并方便识别不同的数据源。
在数据集转换过程中,库是否保留列头?
是的,IronXL.Excel 和 DataSets 之间转换时会保留列标题和数据类型。当使用 ToDataSet() 并将 useFirstRowAsColumnNames 设为 true 时,每个工作表的第一行都会被识别为列标题。
在 Excel 和 DataSets 之间转换时,如何处理多个表格?
IronXL.Excel 在转换为 DataSet 时会自动将每个 Excel 工作表映射到相应的 DataTable,反之亦然。导入包含多个表格的 DataSet 时,每个 DataTable 都会在工作簿中创建一个单独的工作表。
将 Excel 导出到 DataSet 所需的最少代码是什么?
使用 IronXL.Excel 将 Excel 工作簿导出为 DataSet 的最小代码只有一行:DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames:true);这将通过自动工作表到表格映射转换整个工作簿。
准备开始了吗? Nuget 下载 1,765,830 | 版本: 2025.12 刚刚发布
最小工作流程(5 个步骤)
- 下载用于导入和导出为数据集的 C# 库
- Prepare the `DataSet` to import into a spreadsheet object
- Use the
LoadWorkSheetsFromDataSetmethod to import the `DataSet` into the workbook - Use the
ToDataSetmethod to export the workbook as a `DataSet` - 检查转换结果
今天在您的项目中使用 IronXL,免费试用。
如何将工作簿导出为数据集? `ToDataSet` 方法将工作簿转换为 **System.Data.DataSet**,其中每个工作表都将成为 **System.Data.DataTable**。 在 Excel 工作簿上调用此方法可将其转换为 `DataSet` 对象。 **useFirstRowAsColumnNames** 参数决定是否将第一行用作列名。 ```csharp :path=/static-assets/excel-content-code-examples/how-to/export-dataset-datatable-export.cs ``` IronXL 可自动处理数据类型转换,并在导出到 DataSets 时保持电子表格结构。 这有助于[将 Excel 数据与 SQL 数据库集成](https://ironsoftware.com/csharp/excel/examples/excel-sql-datatable/)或在其他 .NET 应用程序中使用数据。 演示工作簿导出和数据集处理的高级示例: ```csharp 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 ``` 导出的 `DataSet` 保留了在 Excel 中定义的关系和约束,非常适合 [在没有 Excel Interop 依赖性的情况下使用复杂的 Excel 数据结构](https://ironsoftware.com/csharp/excel/how-to/c-sharp-excel-interop/)。 ## 额外的 DataSet/DataTable 功能 IronXL 在使用 `DataSet` 和 `DataTable` 时提供了高级功能: ### 处理数据类型 IronXL.Excel 可在 Excel-DataSet 转换过程中智能映射数据类型。 数字单元格变为适当的数字类型(`int`, `decimal`, `double` ),日期单元格变为 `DateTime` 对象,文本单元格变为 `string`s 。 在转换之前,通过 [ 设置单元格数据格式](https://ironsoftware.com/csharp/excel/how-to/set-cell-data-format/)进行自定义。 ### 性能优化 IronXL 可优化内存使用和大型数据集的处理速度。 该库能有效地将数据流而不是将所有内容加载到内存中。 适用于处理大量数据的[企业应用程序](https://ironsoftware.com/csharp/excel/licensing/)。 ### 与其他功能集成 DataSet/DataTable 功能与 IronXL 的其他功能集成: - 在导出到 `DataSet` 之前应用 [ 公式和计算](https://ironsoftware.com/csharp/excel/how-to/edit-formulas/)。 - 在转换前使用 [ 条件格式化](https://ironsoftware.com/csharp/excel/how-to/conditional-formatting/)来突出显示数据 - 结合[图表创建](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/)进行可视化报告 请访问 [ 如何保存或导出电子表格](https://ironsoftware.com/csharp/excel/examples/export-excel-spreadsheet/),了解如何将电子表格导出为各种文件格式。常见问题解答
如何在 C# 中将 Excel 工作簿转换为数据集?
通过 IronXL,您可以使用 ToDataSet() 方法将 Excel 工作簿转换为数据集。只需调用 WorkBook.ToDataSet(useFirstRowAsColumnNames:true),即可导出整个工作簿,其中每个工作表都将成为生成的数据集中的一个数据表。
能否以编程方式将数据集导入 Excel 工作簿?
是的,IronXL 提供了 LoadWorkSheetsFromDataSet() 方法,用于将 DataSet 导入工作簿。使用 WorkBook.Create()创建工作簿,然后将数据集和工作簿传递给此静态方法。每个 DataTable 都将成为一个单独的工作表。
导入 Excel 时,DataTable 名称会发生什么变化?
使用 IronXL.Excel 的 LoadWorkSheetsFromDataSet() 方法时,每个 DataTable 名称都会自动变成 Excel 中的工作表名称,从而维护您的数据组织,并方便识别不同的数据源。
在数据集转换过程中,库是否保留列头?
是的,IronXL.Excel 和 DataSets 之间转换时会保留列标题和数据类型。当使用 ToDataSet() 并将 useFirstRowAsColumnNames 设为 true 时,每个工作表的第一行都会被识别为列标题。
在 Excel 和 DataSets 之间转换时,如何处理多个表格?
IronXL.Excel 在转换为 DataSet 时会自动将每个 Excel 工作表映射到相应的 DataTable,反之亦然。导入包含多个表格的 DataSet 时,每个 DataTable 都会在工作簿中创建一个单独的工作表。
将 Excel 导出到 DataSet 所需的最少代码是什么?
使用 IronXL.Excel 将 Excel 工作簿导出为 DataSet 的最小代码只有一行:DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames:true);这将通过自动工作表到表格映射转换整个工作簿。
准备开始了吗? Nuget 下载 1,765,830 | 版本: 2025.12 刚刚发布
常见问题解答
如何在 C# 中将 Excel 工作簿转换为数据集?
通过 IronXL,您可以使用 ToDataSet() 方法将 Excel 工作簿转换为数据集。只需调用 WorkBook.ToDataSet(useFirstRowAsColumnNames:true),即可导出整个工作簿,其中每个工作表都将成为生成的数据集中的一个数据表。
能否以编程方式将数据集导入 Excel 工作簿?
是的,IronXL 提供了 LoadWorkSheetsFromDataSet() 方法,用于将 DataSet 导入工作簿。使用 WorkBook.Create()创建工作簿,然后将数据集和工作簿传递给此静态方法。每个 DataTable 都将成为一个单独的工作表。
导入 Excel 时,DataTable 名称会发生什么变化?
使用 IronXL.Excel 的 LoadWorkSheetsFromDataSet() 方法时,每个 DataTable 名称都会自动变成 Excel 中的工作表名称,从而维护您的数据组织,并方便识别不同的数据源。
在数据集转换过程中,库是否保留列头?
是的,IronXL.Excel 和 DataSets 之间转换时会保留列标题和数据类型。当使用 ToDataSet() 并将 useFirstRowAsColumnNames 设为 true 时,每个工作表的第一行都会被识别为列标题。
在 Excel 和 DataSets 之间转换时,如何处理多个表格?
IronXL.Excel 在转换为 DataSet 时会自动将每个 Excel 工作表映射到相应的 DataTable,反之亦然。导入包含多个表格的 DataSet 时,每个 DataTable 都会在工作簿中创建一个单独的工作表。
将 Excel 导出到 DataSet 所需的最少代码是什么?
使用 IronXL.Excel 将 Excel 工作簿导出为 DataSet 的最小代码只有一行:DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames:true);这将通过自动工作表到表格映射转换整个工作簿。






