IronXL 操作指南 導入及導出為 DataSet 如何在 C# 中匯入和匯出資料集/資料表 Curtis Chau 更新:2026年3月7日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronXL可以透過單一方法呼叫在 Excel 工作簿和資料集之間進行轉換 - 使用 LoadWorkSheetsFromDataSet() 將資料集匯入工作簿,使用 ToDataSet() 將工作簿匯出為資料集,並自動進行工作表到表格的對應。 DataSet 是記憶體中資料的表示形式,其中包含多個相關表、關係和約束。 用於處理來自資料庫、XML 和其他來源的資料。 在 C# 中處理 Excel 檔案時,DataSet 提供了一個熟悉的.NET結構,可以與資料驅動型應用程式整合。 DataTable 表示一個包含行和列的單一表,位於 DataSet 中。 IronXL會自動將每個 Excel 工作表對應到對應的 DataTable,並在轉換過程中保留列標題和資料類型。 快速入門:立即將工作簿匯出為 System.Data.DataSet@@--AH2EG--@@ 將工作簿轉換為 DataSet 需要一次方法呼叫。 此範例匯出整個工作簿(每個工作表都以 DataTable 格式匯出),並可選擇識別第一行標題。 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXl.Excel PM > Install-Package IronXl.Excel 複製並運行這段程式碼。 DataSet ds = WorkBook.Create().ToDataSet(useFirstRowAsColumnNames: true); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronXL Free 30 Day Trial 最簡工作流程(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` 查看轉換結果 如何將資料集載入到工作簿中? 使用靜態方法將 LoadWorkSheetsFromDataSet 匯入工作簿。 此方法需要 DataSet 和 Workbook 物件。 首先使用 Create 方法建立工作簿。 將 DataSet 物件和 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); $vbLabelText $csharpLabel 每個 DataTable 在 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"); $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 資料庫集成,或在其他.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 $vbLabelText $csharpLabel 匯出的 DataSet 保留了 Excel 中定義的關係和約束,非常適合處理複雜的 Excel 資料結構,而無需依賴 Excel Interop。 附加資料集/資料表功能 IronXL在與 DataSet 和 DataTable 一起使用時提供高級功能: 處理資料類型 IronXL在 Excel 資料集轉換過程中智慧地對應資料類型。 數值單元格變為對應的數值類型(double),日期單元格變為 DateTime 對象,文本單元格變為 @@-CODE-757--CODE-s。 您可以在轉換前設定儲存格資料格式,從而自訂此功能。 效能最佳化 IronXL可針對大型資料集最佳化記憶體使用和處理速度。 該庫有效率地以串流方式處理數據,而不是將所有數據載入到記憶體中。 適用於處理大量資料的企業應用。 與其他功能的集成 資料集/資料表功能與其他IronXL功能整合: 在匯出到 DataSet 之前應用公式和計算 使用條件格式在轉換前突出顯示數據 結合 圖表建立功能,實現視覺化報告 請造訪"如何儲存或匯出電子表格"以了解如何將電子表格匯出為各種文件格式。 常見問題解答 如何在 C# 中將 Excel 工作簿轉換為數據集? 使用 IronXL,您可以使用 ToDataSet() 方法將 Excel 工作簿轉換為 DataSet。只需呼叫 WorkBook.ToDataSet(useFirstRowAsColumnNames:true),即可匯出整個工作簿,其中每個工作表都會成為產生的 DataSet 中的 DataTable。 我可以透過程式將 DataSet 匯入 Excel 工作簿嗎? 是的,IronXL 提供 LoadWorkSheetsFromDataSet() 方法將 DataSet 匯入工作簿。使用 WorkBook.Create() 建立工作簿,然後將 DataSet 和工作簿傳給此靜態方法。每個 DataTable 會成為單獨的工作表。 匯入 Excel 時,DataTable 名稱會發生什麼變化? 使用 IronXl.Excel 的 LoadWorkSheetsFromDataSet() 方法時,每個 DataTable 的名稱都會自動變成 Excel 中的工作表名稱,以維護您的資料組織,並方便識別不同的資料來源。 在 DataSet 轉換過程中,函式庫會保留欄頭嗎? 是的,在 Excel 和 DataSets 之間轉換時,IronXl.Excel 會保留欄頭和資料類型。當使用 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);這會轉換您的整個工作簿,並自動進行工作表到表格的映射。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php Line: 12 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/libraries/Render.php Line: 489 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php Line: 19 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/libraries/Render.php Line: 489 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once 準備好開始了嗎? Nuget 下載 1,890,100 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:1,890,100 查看許可證 Docs 在這頁 開始使用入門概述在C#中使用Excel文件而不使用Interop使用授權金鑰安裝 IronXL 庫在 macOS 上使用在 Linux 上使用部署到雲端/容器部署到 Azure部署到 AWS在Docker中設置.NET 語言支持.NET MAUI上使用Excel在Blazor中讀取Excel文件在VB.NET中使用Excel文件教程如何在C#中讀取Excel文件在 C# 中創建 Excel 文件使用C#打開和寫入Excel文件操作指南工作簿創建電子表格載入試算表在C#中導出到Excel在 C# 中讀取 XLSX 文件在C#中讀取CSV在ASP.NET Web應用程序中讀取Excel文件在.NET中寫入CSV在C#中打開Excel工作表將數據表轉換為CSV將XLSX轉換為CSV、JSON、XML轉換電子表格文件類型導入及導出為 DataSet編輯工作簿元數據用密碼加密工作簿管理工作表工作表編輯公式選擇範圍命名範圍命名表創建和編輯圖表凍結窗格添加行和列自動調整列和欄用密碼加密工作表分組和取消分組新增、提取和移除圖片在C#中創建Excel圖表單元格範圍在.NET中寫入Excel值在C#中導入Excel數據排序單元格範圍修剪儲存格範圍清除儲存格複製單元格設置超鏈接合併和拆分單元格單元格字體和大小單元格邊框和對齊背景圖案與顏色條件格式數學函數添加評論設置單元格數據格式在C#中編輯Excel文件故障排除故障排除指南在IronXL中套用授權密鑰文件大小限制Excel限制:字符串列表的數據驗證常见問题IronXL - 安全CVE異常訊息在 Web.config 中設置許可密钥產品更新變更日志里程碑里程碑:性能里程碑:增強視頻教程API 參考 在這頁 如何將資料集載入到工作簿中?如何將工作簿匯出為資料集?附加資料集/資料表功能 A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php Line: 17 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 71 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/how-to/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once A PHP Error was encountered Severity: Notice Message: Undefined index: IronXl.Excel Filename: helpers/counter_helper.php Line Number: 85 Backtrace: File: /var/www/ironpdf.com/application/helpers/counter_helper.php Line: 85 Function: _error_handler File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php Line: 24 Function: getTotalDonwloadNumber File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php Line: 71 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/views/products/how-to/index.php Line: 2 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 88 Function: view File: /var/www/ironpdf.com/application/libraries/Render.php Line: 552 Function: view File: /var/www/ironpdf.com/application/controllers/Products/Howto.php Line: 31 Function: render_products_view File: /var/www/ironpdf.com/index.php Line: 292 Function: require_once 還在捲動嗎? 想要快速證明? PM > Install-Package IronXl.Excel 執行範例 觀看您的資料變成試算表。 免費 NuGet 下載 總下載量:1,890,100 查看許可證