使用 IRONXL 如何在 VB.NET 中將數據集轉換為 Excel Jordi Bardia 發表日期:9月 29, 2025 Download IronXL NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 在 VB.NET 應用程式中,將 DataSet 轉換為 Excel 工作表文件是一個常見的需求,無論是生成報表、匯出數據庫查詢還是創建數據備份。 雖然使用 Office Interop 的傳統方法需要安裝 Excel 和複雜的 COM 引用,但IronXL 提供了一種無需依賴 Microsoft Office 的簡化方法。 本教程展示了如何在 VB.NET 中使用 IronXL 將 DataSet 中的 DataTable 行高效地轉換為 Excel 文件,並提供格式選項和對多種文件格式的支持。 什麼使 DataSet 到 Excel 的轉換必不可少? 在 .NET 中,DataSet 代表一個內存中的數據緩存,其中包含一個或多個具有行、列和關聯的 DataTable。 將這些DataSet 轉換為 Excel 可實現: 商務報告:將數據庫查詢轉換為格式化的電子資料表,供利益相關者使用 數據存檔:匯出應用程式數據以供長期存儲和分析 跨平臺兼容性:與可能無法訪問您的應用程式的用戶共享數據 增強的可視化:利用 Excel 內建的圖表和分析工具 IronXL 通過提供一個直觀的 API 來簡化此過程,該 API 處理轉換而無需在服務器或開發機器上安裝 Excel。此庫支持 .NET Framework 4.6.2 及更高版本、.NET Core 和 .NET 5 及更高版本,適合現代應用,包括部署到 Linux 容器和雲環境的應用。 關於支持平臺的更多詳細信息,請訪問 IronXL 功能頁面。 如何在您的 VB.NET 項目中開始使用 IronXL? 在您的 VB.NET 或 .NET 代碼項目中設置 IronXL 只需幾分鐘。 打開 Visual Studio 並導航到您的項目,然後通過 NuGet 套件管理器安裝 IronXL。 使用包管理器控制台,執行: Install-Package IronXL.Excel 或者,在 NuGet 套件管理器 UI 中搜索 “IronXL.Excel” 並點擊安裝。 該包將自動下載並配置所有必需的依賴項。 您可以在 IronXL 安裝指南 中找到更多安裝選項。 安裝完成後,將 IronXL 命名空間添加到您的 VB.NET 文件中: Imports IronXL Imports System.Data Imports IronXL Imports System.Data VB .NET 有了這些導入,您就可以開始將 DataSet 轉換為 Excel 文件。 如何在 VB.NET 中將 DataSet 轉換為 Excel? 讓我們從一個實際示例開始,創建一個包含示例數據的 DataSet 並將其匯出為 Excel 文件: ' Create a sample DataSet with product information Dim dataSet As New DataSet("ProductData") ' Create a DataTable object for products, column headers Dim productsTable As New DataTable("Products") productsTable.Columns.Add("ProductID", GetType(Integer)) productsTable.Columns.Add("ProductName", GetType(String)) productsTable.Columns.Add("Price", GetType(Decimal)) productsTable.Columns.Add("InStock", GetType(Boolean)) ' Add sample data to export DataTable productsTable.Rows.Add(1, "Laptop", 999.99, True) productsTable.Rows.Add(2, "Mouse", 19.99, True) productsTable.Rows.Add(3, "Keyboard", 49.99, False) productsTable.Rows.Add(4, "Monitor", 299.99, True) productsTable.Rows.Add(5, "Headphones", 79.99, True) ' Add the DataTable table to the DataSet dataSet.Tables.Add(productsTable) ' Export DataSet to Excel using IronXL Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Save the Excel file workBook.SaveAs("ProductData.xlsx") ' Create a sample DataSet with product information Dim dataSet As New DataSet("ProductData") ' Create a DataTable object for products, column headers Dim productsTable As New DataTable("Products") productsTable.Columns.Add("ProductID", GetType(Integer)) productsTable.Columns.Add("ProductName", GetType(String)) productsTable.Columns.Add("Price", GetType(Decimal)) productsTable.Columns.Add("InStock", GetType(Boolean)) ' Add sample data to export DataTable productsTable.Rows.Add(1, "Laptop", 999.99, True) productsTable.Rows.Add(2, "Mouse", 19.99, True) productsTable.Rows.Add(3, "Keyboard", 49.99, False) productsTable.Rows.Add(4, "Monitor", 299.99, True) productsTable.Rows.Add(5, "Headphones", 79.99, True) ' Add the DataTable table to the DataSet dataSet.Tables.Add(productsTable) ' Export DataSet to Excel using IronXL Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Save the Excel file workBook.SaveAs("ProductData.xlsx") VB .NET 這段代碼創建包含產品信息的 DataSet,並直接將其轉換為 Excel 文件。LoadWorkSheetsFromDataSet 方法會自動為 DataSet 中的每個 DataTable 創建一個工作表。 生成的 Excel 文件包含來自 DataTable 結構的正確格式的數據。 輸出 您還可以操作 Excel 文件並將其保存為不同格式: ' Save as legacy Excel versions format workBook.SaveAs("ProductData.xls") ' Save as CSV (comma-separated values) workBook.SaveAsCsv("ProductData.csv") ' Save as TSV (tab-separated values) workBook.SaveAs("ProductData.tsv") ' Save as legacy Excel versions format workBook.SaveAs("ProductData.xls") ' Save as CSV (comma-separated values) workBook.SaveAsCsv("ProductData.csv") ' Save as TSV (tab-separated values) workBook.SaveAs("ProductData.tsv") VB .NET 每種格式都有其特定的用例:XLSX 文件格式用於現代 Excel 兼容性,XLS 用於舊系統,CSV/TSV 用於與其他應用和數據庫的通用數據交換。 了解更多關於在電子資料表格式之間轉換。 如何將數據庫數據直接匯出為 Excel 文件格式? 實際應用程序通常需要從 SQL 數據庫匯出數據。 下面是如何查詢數據庫並將結果匯出到 Excel: Dim connectionString As String = "Data Source=server;Initial Catalog=SampleDB;Integrated Security=True" Dim query As String = "SELECT OrderID, CustomerName, OrderDate, TotalAmount FROM Orders WHERE OrderDate >= '2024-01-01'" Dim dataSet As New DataSet() ' Populate DataSet from database Using connection As New SqlConnection(connectionString) Using adapter As New SqlDataAdapter(query, connection) adapter.Fill(dataSet, "Orders") End Using End Using ' Create Excel workbook and load data Dim workBook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Auto-size columns for better readability Dim worksheet As WorkSheet = workBook.WorkSheets(0) For i As Integer = 0 To worksheet.Columns.Count - 1 worksheet.AutoSizeColumn(i) Next ' Save with timestamp in filename Dim fileName As String = $"OrdersExport_{DateTime.Now:yyyyMMdd_HHmmss}.xlsx" workBook.SaveAs(fileName) Dim connectionString As String = "Data Source=server;Initial Catalog=SampleDB;Integrated Security=True" Dim query As String = "SELECT OrderID, CustomerName, OrderDate, TotalAmount FROM Orders WHERE OrderDate >= '2024-01-01'" Dim dataSet As New DataSet() ' Populate DataSet from database Using connection As New SqlConnection(connectionString) Using adapter As New SqlDataAdapter(query, connection) adapter.Fill(dataSet, "Orders") End Using End Using ' Create Excel workbook and load data Dim workBook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Auto-size columns for better readability Dim worksheet As WorkSheet = workBook.WorkSheets(0) For i As Integer = 0 To worksheet.Columns.Count - 1 worksheet.AutoSizeColumn(i) Next ' Save with timestamp in filename Dim fileName As String = $"OrdersExport_{DateTime.Now:yyyyMMdd_HHmmss}.xlsx" workBook.SaveAs(fileName) VB .NET 此示例展示了完整的工作流程,從數據庫查詢到 Excel 文件。SqlDataAdapter 用查詢結果填充 DataSet,IronXL 然後將其轉換為格式化的 Excel 文件。自動調整功能可確保所有數據都可見,無需手動調整列寬,從而創建出專業的匯出文件,隨時可用於分發。 要處理大型數據集,請參閱我們的指南,了解如何處理大型 Excel 文件。 輸入 輸出 如何在 Excel 文件中處理多個 DataTable? 在處理相關數據時,您可能在單個 DataSet 中有多個 DataTable。 IronXL 無縫處理這一過程: Dim dataSet As New DataSet("CompanyData") ' Create Employees table (dim dt) Dim employeesTable As New DataTable("Employees") employeesTable.Columns.Add("EmployeeID", GetType(Integer)) employeesTable.Columns.Add("Name", GetType(String)) employeesTable.Columns.Add("Department", GetType(String)) employeesTable.Rows.Add(1, "John Smith", "Sales") employeesTable.Rows.Add(2, "Jane Doe", "Marketing") ' Create Departments table Dim departmentsTable As New DataTable("Departments") departmentsTable.Columns.Add("DepartmentName", GetType(String)) departmentsTable.Columns.Add("Budget", GetType(Decimal)) departmentsTable.Rows.Add("Sales", 100000) departmentsTable.Rows.Add("Marketing", 75000) ' Add both tables to DataSet dataSet.Tables.Add(employeesTable) dataSet.Tables.Add(departmentsTable) ' Convert to Excel - each DataTable becomes a worksheet Dim workBook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Optionally rename worksheets workBook.WorkSheets(0).Name = "Employee List" workBook.WorkSheets(1).Name = "Department Budgets" workBook.SaveAs("CompanyData.xlsx") Dim dataSet As New DataSet("CompanyData") ' Create Employees table (dim dt) Dim employeesTable As New DataTable("Employees") employeesTable.Columns.Add("EmployeeID", GetType(Integer)) employeesTable.Columns.Add("Name", GetType(String)) employeesTable.Columns.Add("Department", GetType(String)) employeesTable.Rows.Add(1, "John Smith", "Sales") employeesTable.Rows.Add(2, "Jane Doe", "Marketing") ' Create Departments table Dim departmentsTable As New DataTable("Departments") departmentsTable.Columns.Add("DepartmentName", GetType(String)) departmentsTable.Columns.Add("Budget", GetType(Decimal)) departmentsTable.Rows.Add("Sales", 100000) departmentsTable.Rows.Add("Marketing", 75000) ' Add both tables to DataSet dataSet.Tables.Add(employeesTable) dataSet.Tables.Add(departmentsTable) ' Convert to Excel - each DataTable becomes a worksheet Dim workBook As WorkBook = WorkBook.Create() WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook) ' Optionally rename worksheets workBook.WorkSheets(0).Name = "Employee List" workBook.WorkSheets(1).Name = "Department Budgets" workBook.SaveAs("CompanyData.xlsx") VB .NET 您的 DataSet 中的每個 DataTable 都成為 Excel 文件中的一個獨立的工作表,維持數據的邏輯分離。 這種方法特別適合創建需要單個文件中不同數據類別的單獨工作表的綜合報告。根據Microsoft 的 DataSet 文件,此結構模擬了數據庫架構的關聯性。 輸出 如何為您的 Excel 匯出添加基本格式? 儘管 IronXL 自動處理基本格式,但您可以使用其他樣式增強您的Excel 匯出: ' After loading DataSet into WorkBook Dim worksheet As WorkSheet = workBook.WorkSheets(0) ' Set header row style Dim headerRange As Range = worksheet.GetRange("A1:D1") headerRange.Style.Font.Bold = True headerRange.Style.BackgroundColor = "#4472C4" headerRange.Style.Font.Color = "#FFFFFF" ' Format currency columns For rowIndex As Integer = 1 To worksheet.RowCount - 1 worksheet($"C{rowIndex + 1}").FormatString = "$#,##0.00" Next ' Add borders to data range Dim dataRange As Range = worksheet.GetRange($"A1:D{worksheet.RowCount}") dataRange.Style.Border.TopBorder.Type = BorderType.Thin dataRange.Style.Border.BottomBorder.Type = BorderType.Thin ' After loading DataSet into WorkBook Dim worksheet As WorkSheet = workBook.WorkSheets(0) ' Set header row style Dim headerRange As Range = worksheet.GetRange("A1:D1") headerRange.Style.Font.Bold = True headerRange.Style.BackgroundColor = "#4472C4" headerRange.Style.Font.Color = "#FFFFFF" ' Format currency columns For rowIndex As Integer = 1 To worksheet.RowCount - 1 worksheet($"C{rowIndex + 1}").FormatString = "$#,##0.00" Next ' Add borders to data range Dim dataRange As Range = worksheet.GetRange($"A1:D{worksheet.RowCount}") dataRange.Style.Border.TopBorder.Type = BorderType.Thin dataRange.Style.Border.BottomBorder.Type = BorderType.Thin VB .NET 這些格式選項將樸素的數據匯出轉變為專業的電子資料表。 樣式功能包括字體屬性、顏色、邊框和數字格式,使您能創建符合您組織品牌或報告標準的匯出。 在 IronXL 文檔中探索更多的單元格樣式選項。 輸出 開始您的免費試用,體驗使用 IronXL 在 VB.NET 中將 DataSet 轉換為 Excel 的簡便性。 結論 在 VB.NET 中使用 IronXL 將DataSet 轉換為 Excel變得非常簡單。 此庫消除了傳統 Interop 方法的複雜性,同時也提供數據匯出的強大功能、格式化和多格式支持。 無論您是在匯出內存數據還是數據庫查詢結果,IronXL 都能高效處理轉換,而無需安裝 Excel。 使用 IronXL 進行DataSet 到 Excel 轉換的關鍵益處包括: 無需依賴 Microsoft Office 支持多種 Excel 格式(XLSX、XLS、CSV、TSV) 自動從 DataTable 創建工作表 用於雲和容器部署的跨平臺兼容性 簡單、直觀的 API,僅需極少代碼 要探索其他功能,例如圖表創建、公式支持和高級格式選項,請訪問IronXL 文檔,找到最適合您需求的。 準備好轉變您的數據匯出能力了嗎? 下載 IronXL,其中包括 PDF、條碼、OCR 等庫。 常見問題解答 我如何在 VB.NET 中將 DataSet 轉換為 Excel 文件? 您可以使用 IronXL 高效地將 DataSet 轉換為 VB.NET 中的 Excel 文件。它提供了一種不需要 Microsoft Office 或複雜 COM 引用的直接方法。 使用 IronXL 將 DataSets 轉換為 Excel 有什麼好處? IronXL 通過消除對 Microsoft Office 和複雜 COM 引用的需求,簡化了 DataSets 到 Excel 的轉換過程。它為 VB.NET 開發人員提供了一個精簡且高效的解決方案。 我需要安裝 Microsoft Office 才能使用 IronXL 嗎? 不需要,IronXL 可以獨立於 Microsoft Office 運行,因此您無需安裝 Office 即可將 DataSets 轉換為 Excel 文件。 IronXL 與 VB.NET 應用程序兼容嗎? 是的,IronXL 與 VB.NET 應用程序完全兼容,使其易於集成和用於將 DataSets 導出到 Excel。 IronXL 能處理大型 DataSets 的 Excel 轉換嗎? IronXL 專為高效處理大型 DataSets 而設計,確保順暢的 Excel 轉換而不會出現性能問題。 使用 IronXL 將 DataSet 轉換為 Excel 的步驟是什麼呢? 轉換過程包括將 DataSet 加載到 IronXL 中,然後將其保存為 Excel 文件。IronXL 的 API 提供了每個步驟的明確說明和功能。 IronXL 支援導出資料庫查詢嗎? 是的,IronXL 支援將資料庫查詢導出到 Excel,簡化報告生成和數據分析任務。 使用 IronXL 在 VB.NET 中有什麼先決條件嗎? 除了一個 VB.NET 開發環境外,沒有特別的先決條件。IronXL 不需要像 Microsoft Office 的其他安裝。 IronXL 如何改善 VB.NET 中的數據備份過程? IronXL 通過允許將 DataSets 輕鬆轉換為 Excel,簡化了數據備份,提供了一種可靠的和可訪問的數據存儲格式。 是否有針對 VB.NET 使用 IronXL 的指南? 是的,IronXL 為 VB.NET 開發人員提供了詳細的文檔和指南,包括轉換 DataSets 到 Excel 的步驟說明。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 10月 27, 2025 如何在 C# 中創建 Excel 樞紐分析表 學習使用 C# Interop 和 IronXL 創建 Excel 中的樞紐分析表,這是一個清晰的分步指南。 閱讀更多 發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 10月 27, 2025 如何使用 IronXL 的 .NET Core CSV 讀取器 學習使用 IronXL 作為 .NET Core CSV 讀取器的有效方法,提供實用範例。 閱讀更多 如何將 CSV 文件讀入 DataTable 在 C#在 C# 中如何管理 Excel 範圍
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多