IronXL 操作指南 如何使用 C# 將資料表轉換為 CSV 如何使用 C# 將資料表轉換為 CSV Curtis Chau 更新:2026年1月10日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 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 在 C# 中將 DataTable 轉換為 CSV,方法是建立 W或kBook ,將 DataTable 行填充其中,並呼叫 SaveAsCsv() 方法 - 不需要複雜的循環或 Interop。 快速入門:單行匯出 DataTable 至 CSV 使用 IronXL 將填滿的 DataTable 轉換成 CSV 檔案,只需呼叫一個方法 - 沒有循環、沒有 Interop、沒有複雜性。 您只需要 W或kBook 及其 DefaultW或kSheet 即可使用 SaveAsCsv 在幾秒鐘內匯出。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronXL PM > Install-Package IronXL.Excel 複製並運行這段程式碼。 IronXL.W或kBook.Create().DefaultW或kSheet.SaveAsCsv("output.csv", ","); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronXL,免費試用! 免費試用30天 ### 最小工作流程(5 個步驟) 下載並安裝將 DataTable 轉換為 CSV 的 C# 庫 Utilize `DataTable` class to st或e new data 建立新電子表格或匯入現有電子表格 遍歷表格行並相應地填入工作表中的儲存格。 Exp或t to CSV file with `SaveAsCsv` C# function 步驟 1 如何在我的專案中安裝 IronXL? 在您的應用程式中使用 IronXL 之前,您必須先安裝 IronXL。 IronXL 為您的專案提供多種安裝選項。 IronXL 是一個函式庫,可簡化 在 C# 中處理 Excel 檔案的工作,而無需安裝 Microsoft Excel 或 Interop。 我應該使用哪種安裝方法? 請使用以下連結從官方網站下載:https://ironsoftware.com/csharp/excel/docs/ 或 在 Visual Studio 中,選擇"項目"選單 點選"管理 NuGet 套件" 搜尋 IronXL.Excel 點選安裝 我應該使用什麼 NuGet 指令? Install-Package IronXL.Excel 為什麼選擇 NuGet 套件管理程式? NuGet 是 .NET 開發人員的首選方法,因為它可以自動管理相依性並保持函式庫的最新性。 IronXL 套件包括 轉換試算表檔案類型以及使用各種 Excel 格式的所有必要元件。 圖 1 - IronXL.Excel NuGet 套件 操作指南 我該如何建立 DataTable 並將其匯出至 CSV? 將 DataTable 轉換為 CSV 的過程包括建立 W或kBook 並將資料填充其中,以及使用 IronXL.Excel 內建的 CSV 寫入功能。 此方法比起手動建立 CSV 字串或使用傳統的檔案串流方法更有效率。 我需要匯入哪些命名空間? 首先,導入 IronXL 命名空間。 IronXL.Excel 提供對 匯入和匯出 DataSet 和 DataTable 物件的全面支援,使其成為資料庫驅動應用程式的理想選擇。 using IronXL; using IronXL; Imports IronXL $vbLabelText $csharpLabel 完整的程式碼範例是什麼? 新增以下程式碼: :path=/static-assets/excel/content-code-examples/how-to/csharp-database-to-csv-datatable.cs using IronXL; using System; using System.Data; // Create a new DataTable object DataTable table = new DataTable(); // Add a single column named "Example_DataSet" of type string table.Columns.Add("Example_DataSet", typeof(string)); // Add rows to the DataTable table.Rows.Add("0"); table.Rows.Add("1"); table.Rows.Add("2"); table.Rows.Add("3"); table.Rows.Add("1"); table.Rows.Add("2"); table.Rows.Add("3"); // Create a new Excel workbook and set its author metadata WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); wb.Metadata.Author = "OJ"; // Get the default worksheet WorkSheet ws = wb.DefaultWorkSheet; // Initialize rowCounter for Excel sheet rows int rowCount = 1; // Loop through each row in the DataTable and add the data to the Excel worksheet foreach (DataRow row in table.Rows) { // Populate worksheet cells with data from DataTable ws["A" + (rowCount)].Value = row[0].ToString(); rowCount++; } // Save the workbook as a CSV file wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Will be saved as: Save_DataTable_CSV.Sheet1.csv Imports IronXL Imports System Imports System.Data ' Create a new DataTable object Dim table As New DataTable() ' Add a single column named "Example_DataSet" of type string table.Columns.Add("Example_DataSet", GetType(String)) ' Add rows to the DataTable table.Rows.Add("0") table.Rows.Add("1") table.Rows.Add("2") table.Rows.Add("3") table.Rows.Add("1") table.Rows.Add("2") table.Rows.Add("3") ' Create a new Excel workbook and set its author metadata Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS) wb.Metadata.Author = "OJ" ' Get the default worksheet Dim ws As WorkSheet = wb.DefaultWorkSheet ' Initialize rowCounter for Excel sheet rows Dim rowCount As Integer = 1 ' Loop through each row in the DataTable and add the data to the Excel worksheet For Each row As DataRow In table.Rows ' Populate worksheet cells with data from DataTable ws("A" & rowCount).Value = row(0).ToString() rowCount += 1 Next ' Save the workbook as a CSV file wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Will be saved as: Save_DataTable_CSV.Sheet1.csv $vbLabelText $csharpLabel 程式碼如何逐步運作? 上述程式碼會建立 DataTable 並建立新工作簿,指定"OJ"為其擁有者,然後會使用 f或each 循環將 DataTable 中的資料插入 Excel 工作表中。 最後,SaveAsCsv 方法會將資料表匯出至 CSV。 流程明細: 1.DataTable Creation:初始化新的 DataTable 並透過新增欄位定義其模式。 這類似於定義資料庫表結構。 2.資料人口:使用 Rows.Add() 方法將行新增至 DataTable 中。 每一行代表一筆 CSV 匯出記錄。 3.W或kbook Generation:IronXL 的 W或kBook.Create() 方法初始化一個新的 Excel 工作簿。 如有需要,您也可以 建立多工作表的試算表。 4.Cell Population:f或each 環路會遍歷 DataTable 行,並使用儲存格參照語法 (例如 "A1"、"A2") 將每個值對應到特定的工作表單儲存格。 5.CSV匯出:SaveAsCsv()方法可處理複雜的 CSV 格式,包括正確轉換特殊字符和處理分隔符。 進階 DataTable 方案如何? 對於具有多列的複雜 DataTables,請像這樣延伸程式碼: // Create a DataTable with multiple columns DataTable advancedTable = new DataTable(); advancedTable.Columns.Add("ID", typeof(int)); advancedTable.Columns.Add("Name", typeof(string)); advancedTable.Columns.Add("Price", typeof(decimal)); --snip-- w或kbook.SaveAsCsv("products.csv", ","); // Create a DataTable with multiple columns DataTable advancedTable = new DataTable(); advancedTable.Columns.Add("ID", typeof(int)); advancedTable.Columns.Add("Name", typeof(string)); advancedTable.Columns.Add("Price", typeof(decimal)); --snip-- w或kbook.SaveAsCsv("products.csv", ","); ' Create a DataTable with multiple columns Dim advancedTable As New DataTable() advancedTable.Columns.Add("ID", GetType(Integer)) advancedTable.Columns.Add("Name", GetType(String)) advancedTable.Columns.Add("Price", GetType(Decimal)) ' --snip-- w或kbook.SaveAsCsv("products.csv", ",") $vbLabelText $csharpLabel 輸出是什麼樣子? 輸出的 Excel 工作表顯示如下: 圖 2 -資料表輸出到 CSV 我該如何處理大型 DataTables? 當處理包含數千行的大型 DataTables 時,IronXL.Excel 能維持優異的效能。 資料庫能有效率地處理大量資料集。 對於生產環境,請套用您的 license key 以移除水印並啟用完整功能。 關於錯誤處理? 在處理檔案作業時,務必執行適當的錯誤處理: try { // Your DataTable to CSV conversion code W或kBook wb = W或kBook.Create(); // ... rest of the code wb.SaveAsCsv("output.csv", ","); Console.WriteLine("CSV file created successfully!"); } catch (Exception ex) { Console.WriteLine($"Err或 creating CSV: {ex.Message}"); } try { // Your DataTable to CSV conversion code W或kBook wb = W或kBook.Create(); // ... rest of the code wb.SaveAsCsv("output.csv", ","); Console.WriteLine("CSV file created successfully!"); } catch (Exception ex) { Console.WriteLine($"Err或 creating CSV: {ex.Message}"); } Try ' Your DataTable to CSV conversion code Dim wb As W或kBook = W或kBook.Create() ' ... rest of the code wb.SaveAsCsv("output.csv", ",") Console.WriteLine("CSV file created successfully!") Catch ex As Exception Console.WriteLine($"Err或 creating CSV: {ex.Message}") End Try $vbLabelText $csharpLabel 圖書館快速訪問 ### IronXL API 參考文檔 使用便利的 IronXL API 參考文檔,了解更多並分享如何在 Excel 電子表格中合併、取消合併和處理儲存格。 IronXL API 參考文檔 常見問題解答 如何在 C# 中將 DataTable 轉換為 CSV,而不需要撰寫複雜的循環? IronXL 提供簡單的單行解決方案,可將 DataTable 轉換為 CSV。在建立 WorkBook 並將 DataTable 資料填入其中後,您可以使用 SaveAsCsv() 方法直接匯出為 CSV 格式,而無需撰寫迴圈或使用 Interop。 DataTable 至 CSV 轉換函式庫有哪些安裝選項? IronXL 可透過 Visual Studio 中的 NuGet Package Manager 搜尋「IronXL.Excel」或使用 NuGet 命令列安裝。這是首選的方法,因為它會自動管理相依性並保持庫的最新狀態。 我需要安裝 Microsoft Excel 才能將 DataTable 轉換為 CSV 嗎? 不,IronXL 可獨立運作,無須安裝 Microsoft Excel 或 Interop。它是一個獨立的函式庫,可簡化在 C# 應用程式中處理 Excel 檔案和 CSV 匯出的工作。 將 DataTable 轉換為 CSV 需要匯入哪些命名空間? 您需要在 C# 檔案頂端加入「using IronXL;」來匯入 IronXL 命名空間。這可讓您存取匯入和匯出 DataSet 與 DataTable 物件的全面支援。 匯出至 CSV 時,我可以指定自訂的分隔符嗎? 是的,IronXL 的 SaveAsCsv() 方法允許您指定自訂的分隔符。在範例程式碼中,逗號 (",")被用作分隔符,但您可以將其變更為任何符合您需求的字元。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 準備好開始了嗎? Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:1,846,091 查看許可證