使用 IRONXL 如何在 C# 中將 `DataTable` 匯出為 CSV Curtis Chau 更新:2025年10月16日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 IronXL 能夠在 C# 中實現DataTable到 CSV 的無縫轉換,而無需安裝 Microsoft Excel。 這個獨立的 .NET 函式庫提供了一個簡單的 API,可以自動將DataTables轉換為具有自訂結構和分隔符號的 CSV 文件,使開發人員能夠輕鬆地匯出資料。 IronXL 是一個流行的庫,它允許開發人員在 C# .NET 技術中與Microsoft Excel 文件(包括 CSV 文件)進行交互,而無需安裝 Microsoft Excel。 它能夠自動將已註冊的類型轉換為 CSV 文件,並能夠使用自訂結構寫入 CSV 文件。 IronXL Library 提供哪些功能? 使用 C# IronXL .NET 程式庫可以讀取Microsoft Excel 文件並將其轉換為 CSV 檔案。 IronXL 是一個獨立的 .NET 軟體庫,可以讀取各種電子表格格式。 它不依賴Microsoft.Office.Interop.Excel ,也不需要安裝 Microsoft Excel。 透過 IronXL 的用戶友好型 C# API ,您可以在 .NET 環境中快速讀取、修改和建立 Excel 電子表格檔案。 IronXL 完全支援 .NET Core、.NET Framework、Xamarin、行動平台、 Linux 、 macOS和Azure 。 領先的 .NET Core 和 .NET Framework Excel 試算表庫(適用於 C#)包括 IronXL。 幾乎所有 .NET Framework 版本都受支持,包括控制台應用程式、Windows 窗體應用程式和 Web 應用程式。 IronXL 可在 Windows、Linux 和 macOS 作業系統上運作。 IronXL 讓讀取 Excel 檔案變得簡單快速。 IronXL 支援多種 Excel 格式:XLSX、XLS、CSV、TSV、XLST 和 XLSM 檔案。 IronXL 可將檔案匯出為多種格式,包括 XLS、CSV、TSV、JSON 和 XML。 IronXL 可產生 Excel 計算結果並支援公式。 IronXL 支援 Excel 列資料格式,包括文字、數字、日期、貨幣和百分比。 更多詳情請瀏覽IronXL 文件概述。 如何在 Visual Studio 中建立新專案? 在 Visual Studio 中,必須先建立一個 .NET 專案才能使用 IronXL 框架。 任何版本的 Visual Studio 都可以使用,但建議使用最新版本。 根據您的需要,您可以建立 Windows 窗體應用程式或不同的專案範本。 為了簡單起見,本教學將使用控制台應用程式。 Visual Studio 的"建立新專案"對話方塊顯示了各種 .NET 專案模板,包括控制台應用程式、ASP.NET Core Web 應用程式和 Blazor 伺服器應用程式選項。 在 Visual Studio 中建立一個新項目 之後,輸入項目名稱和地點。 Visual Studio 專案配置對話方塊顯示了名為"ConsoleApp1"的新 C# 控制台應用程式的設置,目標平台為 Windows,輸出平台為控制台。 配置新項目 接下來,選擇以下結構。 本專案將使用.NET Core 6。 Visual Studio 專案建立對話方塊顯示控制台應用程式配置,並選擇了 .NET 6.0(長期支援)作為框架。 選擇 .NET Framework 版本 應用程式產生解決方案後,將開啟program.cs文件,以便您可以輸入程式碼並建置/執行應用程式。 Visual Studio 中顯示的空白 C# 控制台應用程式窗口,展示了 IronXLConsole 專案及其初始程式碼結構,準備實現 CSV 匯出功能。 新建立的控制台應用程式項目 然後就可以新增該庫並使用它來評估程式碼。 對於其他項目類型,例如.NET MAUI 應用程式或VB.NET 項目,該過程類似,但需要考慮框架特定的因素。 如何安裝 IronXL 庫? 下載和安裝 IronXL 庫有四種方法。 其中包括: 透過 Visual Studio 安裝 使用 Visual Studio 套件管理器控制台進行安裝 直接從 NuGet 網站下載 直接從 IronXL 網站下載 我該用哪一種方法安裝 Visual Studio? 使用 NuGet 套件管理器可以安裝 IronXL 模組。 要找到 IronXL,您必須先啟動 NuGet 套件管理器,然後在瀏覽窗格中尋找。 從搜尋結果中選擇 IronXL 進行安裝。 之後,IronXL 庫就可以使用這個應用程式了。 下圖示範如何啟動 Visual Studio 的 NuGet 套件管理器。 Visual Studio 工具選單已展開,在工具下拉選單下反白顯示了 NuGet 套件管理器選項和套件管理器控制台。 導覽至 NuGet 套件管理器 NuGet 套件管理器介面顯示 IronXL.Excel 套件,版本為 2022.3.0,顯示下載次數為 133K,並附有"安裝"按鈕,方便整合。 在 NuGet 套件管理器 UI 中安裝 IronXL 套件 何時應該使用軟體包管理器控制台? 許多開發者喜歡使用控制台來執行任務。 因此,終端安裝也是一種選擇。 若要使用命令列安裝 IronXL,請依照下列說明操作。 在 Visual Studio 中,導覽至"工具" > "NuGet 套件管理器" >"套件管理器介面"。 在軟體包管理器的控制台標籤中輸入以下命令: Install-Package IronXL.Excel 等待 IronXL 下載並安裝到目前專案中。 Visual Studio 中的套件管理器控制台顯示命令"Install-Package IronXL.Excel",並顯示安裝成功的確認訊息。 在軟體套件管理器控制台介面中安裝 IronXL 軟體套件 我為什麼要從 NuGet 網站下載? 第三種選擇是直接從網站下載 NuGet 套件。 當網路存取受限或需要手動管理軟體包時,這種方法特別有用。 造訪官方 NuGet 連結。 下載軟體包選項位於右側選單中。 雙擊已儲存的文件,即可立即安裝。 之後重新載入解決方案,並開始在專案中使用它。 如何直接從 IronXL 網站安裝? 若要直接從網站下載最新軟體包,請點擊此連結下載 IronXL ZIP 檔案。 此連結將下載包含最新版本 IronXL 庫 DLL 的 ZIP 檔案。 下載完成後,將 ZIP 檔案的內容解壓縮到您選擇的任何目錄中。 下載檔案後,要將其新增至專案中,請按照下列步驟操作。 在解決方案視窗中,右鍵點選項目。 選擇"引用",然後導航至包含 IronXL DLL 的已解壓縮資料夾。 選擇 DLL,然後按一下"確定"將其作為參考新增至活動項目。 對於部署方案,您也可以將 IronXL 設定在 Docker 容器中,或部署到AWS Lambda和Azure Functions等雲端平台。 如何將DataTable匯出為 CSV 檔案? 使用 IronXL 可以輕鬆快速地將DataTables匯出為 CSV 檔案。 它支援自訂分隔符號和編碼選項,幫助將資料寫入新的 CSV 檔案。 首先,如下面的程式碼影像所示,應包含 IronXL 命名空間才能使用 IronXL 類別和方法。 ! C# 程式碼編輯器顯示"using IronXL;"和"using System.Data;"命名空間聲明,並對 DataTable 到 CSV 匯出實作進行語法高亮顯示。 新增通用命名空間 可以使用 IronXL 建立 Excel 文件,然後將其轉換為WorkBook物件。 然後對這些物件執行各種操作。 下面的範例程式碼會將DataTable轉換為 Excel 工作表,從而建立一個 Excel 檔案。 using IronXL; using System.Data; // Entry point of the application static void Main(string[] args) { // Specify the file path for the CSV file output ExportToExcel("H:\\test.csv"); } // Exports the DataTable to an Excel file and saves it as CSV public static void ExportToExcel(string filepath) { // Create a DataTable and add columns and rows DataTable table = new DataTable(); table.Columns.Add("DataSet_Fruits", typeof(string)); table.Rows.Add("Apple"); table.Rows.Add("Orange"); table.Rows.Add("Strawberry"); table.Rows.Add("Grapes"); table.Rows.Add("Watermelon"); table.Rows.Add("Bananas"); table.Rows.Add("Lemons"); // Create a new WorkBook and add the DataTable data to it WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); var writer = wb.DefaultWorkSheet; int rowCount = 1; foreach (DataRow row in table.Rows) { // Write each item from the DataTable into the worksheet starting from cell A1 writer["A" + (rowCount)].Value = row[0].ToString(); rowCount++; } // Save the workbook as a CSV file with a specified delimiter wb.SaveAsCsv(filepath, ";"); } using IronXL; using System.Data; // Entry point of the application static void Main(string[] args) { // Specify the file path for the CSV file output ExportToExcel("H:\\test.csv"); } // Exports the DataTable to an Excel file and saves it as CSV public static void ExportToExcel(string filepath) { // Create a DataTable and add columns and rows DataTable table = new DataTable(); table.Columns.Add("DataSet_Fruits", typeof(string)); table.Rows.Add("Apple"); table.Rows.Add("Orange"); table.Rows.Add("Strawberry"); table.Rows.Add("Grapes"); table.Rows.Add("Watermelon"); table.Rows.Add("Bananas"); table.Rows.Add("Lemons"); // Create a new WorkBook and add the DataTable data to it WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); var writer = wb.DefaultWorkSheet; int rowCount = 1; foreach (DataRow row in table.Rows) { // Write each item from the DataTable into the worksheet starting from cell A1 writer["A" + (rowCount)].Value = row[0].ToString(); rowCount++; } // Save the workbook as a CSV file with a specified delimiter wb.SaveAsCsv(filepath, ";"); } Imports IronXL Imports System.Data ' Entry point of the application Shared Sub Main(ByVal args() As String) ' Specify the file path for the CSV file output ExportToExcel("H:\test.csv") End Sub ' Exports the DataTable to an Excel file and saves it as CSV Public Shared Sub ExportToExcel(ByVal filepath As String) ' Create a DataTable and add columns and rows Dim table As New DataTable() table.Columns.Add("DataSet_Fruits", GetType(String)) table.Rows.Add("Apple") table.Rows.Add("Orange") table.Rows.Add("Strawberry") table.Rows.Add("Grapes") table.Rows.Add("Watermelon") table.Rows.Add("Bananas") table.Rows.Add("Lemons") ' Create a new WorkBook and add the DataTable data to it Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS) Dim writer = wb.DefaultWorkSheet Dim rowCount As Integer = 1 For Each row As DataRow In table.Rows ' Write each item from the DataTable into the worksheet starting from cell A1 writer("A" & (rowCount)).Value = row(0).ToString() rowCount += 1 Next row ' Save the workbook as a CSV file with a specified delimiter wb.SaveAsCsv(filepath, ";") End Sub $vbLabelText $csharpLabel 以上程式碼將DataTable匯出到 Excel 檔案。列標題在DataTable建立完成後自動產生。 然後,在確定第一列之後,逐行新增後續行。 在DataTable物件新增列和行以儲存這些資料之後,就會建立WorkBook物件。 然後建立WorkSheet對象,並將其新增至WorkBook物件中。 使用foreach循環讀取DataTable中的每個值,然後將其加入WorkSheet 。 將所有值新增至工作表後, SaveAsCsv方法會將它們儲存到 CSV 檔案中。您可以將分隔符號和檔案位置都指定為參數。 對於更複雜的場景,您可能需要將多個資料表匯出為不同的工作表,或使用資料集進行更結構化的資料組織。 使用不同的 CSV 格式 IronXL 在處理 CSV 檔案時提供了靈活性。 以下範例展示如何匯出具有自訂格式和編碼的DataTable : // Export with custom delimiter and encoding public static void ExportToCSVWithOptions(DataTable dataTable, string filepath) { // Create workbook from DataTable WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet ws = wb.CreateWorkSheet("DataExport"); // Add headers for (int i = 0; i < dataTable.Columns.Count; i++) { ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName; } // Add data rows for (int row = 0; row < dataTable.Rows.Count; row++) { for (int col = 0; col < dataTable.Columns.Count; col++) { ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col]; } } // Save with custom delimiter (comma) and UTF-8 encoding wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8); } // Export with custom delimiter and encoding public static void ExportToCSVWithOptions(DataTable dataTable, string filepath) { // Create workbook from DataTable WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX); WorkSheet ws = wb.CreateWorkSheet("DataExport"); // Add headers for (int i = 0; i < dataTable.Columns.Count; i++) { ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName; } // Add data rows for (int row = 0; row < dataTable.Rows.Count; row++) { for (int col = 0; col < dataTable.Columns.Count; col++) { ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col]; } } // Save with custom delimiter (comma) and UTF-8 encoding wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8); } Imports System.Text ' Export with custom delimiter and encoding Public Shared Sub ExportToCSVWithOptions(dataTable As DataTable, filepath As String) ' Create workbook from DataTable Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim ws As WorkSheet = wb.CreateWorkSheet("DataExport") ' Add headers For i As Integer = 0 To dataTable.Columns.Count - 1 ws($"{ChrW(AscW("A"c) + i)}1").Value = dataTable.Columns(i).ColumnName Next ' Add data rows For row As Integer = 0 To dataTable.Rows.Count - 1 For col As Integer = 0 To dataTable.Columns.Count - 1 ws($"{ChrW(AscW("A"c) + col)}{row + 2}").Value = dataTable.Rows(row)(col) Next Next ' Save with custom delimiter (comma) and UTF-8 encoding wb.SaveAsCsv(filepath, ",", Encoding.UTF8) End Sub $vbLabelText $csharpLabel 這種方法可以讓你更好地控制匯出過程,讓你設定單元格資料格式並自訂輸出結構。 ! Excel 電子表格顯示 A 列中的水果清單(蘋果、柳橙、草莓、葡萄、西瓜、香蕉、檸檬),採用正確的 CSV 格式,沒有額外的分隔符號。 輸出的 CSV 檔案 上面顯示的是運行程式碼範例的輸出結果。 在截圖中,資料表中的每一個資料都被單獨加入到新產生的 Excel 表格中。 您也可以在匯出之前對儲存格套用格式,或新增公式以計算值。 對於更進階的 CSV 操作,您可以: -讀取帶有自訂分隔符號的 CSV 文件 以特定編碼寫入 CSV 文件 -在不同的電子表格格式之間進行轉換 -匯出為 JSON 或 XML格式 要了解有關 IronXL 教程的更多信息,請點擊此鏈接以了解如何匯出到 Excel 格式。 為什麼我應該使用 IronXL 進行 CSV 匯出? IronXL是Excel中最受歡迎的工具之一。 它不依賴任何其他外部來源的庫。 它是獨立運作的,無需安裝微軟Excel。 它透過多個管道運作。 IronXL 提供了一個一體化解決方案,以程式設計方式實現所有與 Microsoft Excel 文件相關的任務。 您可以執行公式計算、字串或數字排序、修剪和追加、尋找和取代、合併和取消合併、儲存檔案等操作。您也可以設定儲存格資料格式並驗證電子表格資料。 它還支援讀寫 CSV 文件,幫助您像處理 Excel 資料一樣處理資料。 其他福利包括: 敏感資料匯出密碼保護 針對大型資料集的效能最佳化 支援在匯出為 CSV 檔案之前在 Excel 中進行條件格式設定 支援命名範圍和命名表 以支援的格式保留超鏈接 IronXL 的起售價為$799 。 它還為用戶提供支付一年訂閱費以獲得產品支援和更新的選項。 IronXL 提供額外付費的無限再分送安全保障。 如需了解更詳細的定價信息,請訪問此許可頁面。 常見問題解答 如何在 C# 中將 DataTable 匯出成 CSV 檔案? 您可以使用 IronXL 將 DataTable 匯出為 CSV 檔案,方法是建立 WorkBook 並將資料匯出為工作表物件。這可在不需要 Microsoft Excel 的情況下進行無縫轉換和匯出。 使用這個函式庫可以匯出哪些檔案格式? IronXL 允許將資料匯出成各種格式,例如 XLS、CSV、TSV 和 JSON,提供處理不同資料需求的彈性。 是否可以使用這個函式庫執行類似 Excel 的操作? 是的,IronXL.Excel 實現了類似 Excel 的操作,例如公式計算、資料排序和檔案儲存,使其成為 Excel 相關編程工作的綜合工具。 我需要安裝 Microsoft Excel 才能使用這個函式庫嗎? 不,IronXL for .NET 是一個獨立的 .NET 函式庫,不需要安裝 Microsoft Excel,讓開發人員可以直接在他們的 C# 應用程式中處理 Excel 文件。 這個函式庫與哪些平台相容? IronXL 與多種平台相容,包括 .NET Core、.NET Framework、Xamarin,以及 Windows、Linux 和 macOS 等作業系統。 如何在我的專案中安裝 IronXL 函式庫? IronXL 可透過存取 NuGet Package Manager 或直接從 NuGet 或 IronXL 網站下載,安裝在使用 Visual Studio 的 .NET 專案中。 這個資料庫有哪些定價方式? IronXL 提供起始價格與一年訂閱的選項,包括產品協助與更新,提供持續支援並可存取最新功能。 Curtis Chau 立即與工程團隊聊天 技術撰稿人 Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。 相關文章 發表日期 2026年2月15日 如何使用 OleDb vs IronXL.Excel 將 DataTable 匯出至 Excel C# 學習如何使用 OleDb vs IronXL.Excel 將 DataTable 匯出至 Excel C#。 閱讀更多 發表日期 2026年2月15日 如何在未安裝 Office 的情況下使用 IronXL 開啟 VB.NET 中的現有 Excel 檔案 了解如何使用 IronXL for .NET 在未安裝 Office 的情況下在 VB.NET 中開啟現有的 Excel 檔案。 閱讀更多 發表日期 2026年2月15日 C# CSV to XLSX:完整開發人員指南 使用 IronXL 在 C# 中將 CSV 轉換為 XLSX。載入 CSV 檔案、保留資料類型、新增圖表,以及匯出為 Excel 格式,而無需 Microsoft Office 的相依性。 閱讀更多 如何在 C# 中從 Excel 檔取得儲存格值如何在 C# 中匯入 Excel 檔案
發表日期 2026年2月15日 如何使用 OleDb vs IronXL.Excel 將 DataTable 匯出至 Excel C# 學習如何使用 OleDb vs IronXL.Excel 將 DataTable 匯出至 Excel C#。 閱讀更多
發表日期 2026年2月15日 如何在未安裝 Office 的情況下使用 IronXL 開啟 VB.NET 中的現有 Excel 檔案 了解如何使用 IronXL for .NET 在未安裝 Office 的情況下在 VB.NET 中開啟現有的 Excel 檔案。 閱讀更多
發表日期 2026年2月15日 C# CSV to XLSX:完整開發人員指南 使用 IronXL 在 C# 中將 CSV 轉換為 XLSX。載入 CSV 檔案、保留資料類型、新增圖表,以及匯出為 Excel 格式,而無需 Microsoft Office 的相依性。 閱讀更多