使用 IRONXL 如何在 C# 中將資料集轉換為 CSV Curtis Chau 更新:2025年7月28日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 以下文章將示範如何將 C# 資料集轉換為 CSV 檔案。 IronXL是處理電子表格的絕佳解決方案,無論是 CSV 格式還是 Excel 檔案。 IronXL 開發免費,易於使用,並提供豐富的功能來處理任何類型的電子表格。 它安全可靠,性能優異。 在繼續之前,讓我們先簡單介紹一下 IronXL。 IronXL。 IronXL 是一個Iron Software庫,它允許 C# 開發人員在 .NET 應用程式和網站中讀取、產生和編輯 Excel(以及其他電子表格檔案)。 IronXL 是一種在 C# 和 .NET 中快速簡單地處理 Excel 和其他電子表格檔案的方法。 IronXL 可與 .NET Framework、.NET Core 和 Azure 相容,無需 Office Excel Interop。 IronXL 也無需安裝 Microsoft Office 或包含任何其他此類依賴項。 讓我們開始建立和編寫用於建立資料集的 CSV 檔案的程式碼。 建立新的 Visual Studio 專案 開啟 Visual Studio IDE;建議使用最新版本的 Visual Studio,但您也可以依照個人喜好使用任何版本。 請注意,建立新專案的步驟可能會因版本而異。 如何在 C# 中將資料集轉換為 CSV 文件,圖 1:Visual Studio 的開始窗口 Visual Studio 的開始視窗 點擊"建立新項目"。 新視窗將如下所示。 如何在 C# 中將資料集轉換為 CSV 文件,圖 2:在 Visual Studio 中建立一個新項目 在 Visual Studio 中建立一個新項目 從清單中選擇您喜歡的項目模板。點擊"下一步"按鈕,將出現如下所示的新視窗。 如何在 C# 中將資料集轉換為 CSV,圖 3:配置新建立的項目 配置新建立的項目 為項目命名,選擇項目位置,然後按下"下一步"按鈕。 新視窗將如下所示。 如何在 C# 中將資料集轉換為 CSV,圖 4:選擇 .NET Framework 版本 選擇 .NET Framework 版本 選擇目標 .NET Framework。 您可以根據自己的需求選擇任何 .NET Framework 版本,因為 IronXL 支援所有 .NET Framework 版本。 本教學將使用 .NET 7。點擊"建立"按鈕,將建立一個新項目,如下所示。 如何在 C# 中將資料集轉換為 CSV 格式,圖 5:Visual Studio 中的新控制台應用程式 Visual Studio 中的新控制台應用程式 現在,安裝 IronXL NuGet 套件,以便在本應用程式中使用它。 安裝 IronXL 開啟 NuGet 套件管理員控制台,並輸入以下命令。 Install-Package IronXL.Excel NuGet 套件將安裝完成並可供使用,如下所示。 如何在 C# 中將資料集轉換為 CSV 文件,圖 6:IronXL 套件及其依賴項的安裝 安裝 IronXL 軟體包及其相依性 現在,讓我們用 C# 編寫一些程式碼,將資料集轉換為 CSV 檔案。 本範例將從 SQL Server 資料庫填入資料。 從 SQL 資料庫取得資料集後,我們將使用這些輸入資料建立一個 CSV 檔案。 建立資料表 第一步是從 SQL 資料庫填入數據,但您可以使用任何您喜歡的資料來源。 本教學使用以下數據: 如何在 C# 中將資料集轉換為 CSV 文件,圖 7:使用範例資料建立一個新資料庫 建立包含範例資料的新資料庫 以下是用於建立範例資料的 SQL 腳本: USE Test_DB; CREATE TABLE STUDENT_DATA ( REG_NUM INT PRIMARY KEY, FIRST_NAME VARCHAR(30), LAST_NAME VARCHAR(30), CLASS VARCHAR(5), CONTACT_NUM VARCHAR(15) ); INSERT INTO STUDENT_DATA VALUES (123, 'JHON', 'SMITH', '2', '(223) 444-1234'), (124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'), (125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'), (126, 'JAMES', 'BOND', '2', '(543) 777-1237'), (127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'), (128, 'DONALD', 'MARK', '2', '(777) 888-1239'); 以下 C# 程式碼用於將資料表匯出到 CSV 檔案。 using System; using System.Data; using System.Data.SqlClient; using IronXL; class Program { // Method to retrieve data from SQL database and return as DataTable public static DataTable GetData() { // Define connection string (modify accordingly for your local server) string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"; string query = "SELECT * FROM STUDENT_DATA"; try { // Create SQL connection using SqlConnection conn = new SqlConnection(connString); // Create SQL command SqlCommand cmd = new SqlCommand(query, conn); conn.Open(); // Create data adapter using SqlDataAdapter da = new SqlDataAdapter(cmd); // Query the database and return the result to a data table DataTable dt = new DataTable(); da.Fill(dt); return dt; } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); throw; } } static void Main(string[] args) { // Retrieve data and store it in a DataTable DataTable table = GetData(); // Create a new Workbook WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); wb.Metadata.Author = "JOHN"; // Use the default worksheet WorkSheet ws = wb.DefaultWorkSheet; int rowCount = 1; // Populate the worksheet with data from the DataTable foreach (DataRow row in table.Rows) { ws[$"A{rowCount}"].Value = row[0].ToString(); ws[$"B{rowCount}"].Value = row[1].ToString(); ws[$"C{rowCount}"].Value = row[2].ToString(); ws[$"D{rowCount}"].Value = row[3].ToString(); ws[$"E{rowCount}"].Value = row[4].ToString(); rowCount++; } // Save the workbook as a CSV file wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); } } using System; using System.Data; using System.Data.SqlClient; using IronXL; class Program { // Method to retrieve data from SQL database and return as DataTable public static DataTable GetData() { // Define connection string (modify accordingly for your local server) string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"; string query = "SELECT * FROM STUDENT_DATA"; try { // Create SQL connection using SqlConnection conn = new SqlConnection(connString); // Create SQL command SqlCommand cmd = new SqlCommand(query, conn); conn.Open(); // Create data adapter using SqlDataAdapter da = new SqlDataAdapter(cmd); // Query the database and return the result to a data table DataTable dt = new DataTable(); da.Fill(dt); return dt; } catch (Exception ex) { Console.WriteLine($"An error occurred: {ex.Message}"); throw; } } static void Main(string[] args) { // Retrieve data and store it in a DataTable DataTable table = GetData(); // Create a new Workbook WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); wb.Metadata.Author = "JOHN"; // Use the default worksheet WorkSheet ws = wb.DefaultWorkSheet; int rowCount = 1; // Populate the worksheet with data from the DataTable foreach (DataRow row in table.Rows) { ws[$"A{rowCount}"].Value = row[0].ToString(); ws[$"B{rowCount}"].Value = row[1].ToString(); ws[$"C{rowCount}"].Value = row[2].ToString(); ws[$"D{rowCount}"].Value = row[3].ToString(); ws[$"E{rowCount}"].Value = row[4].ToString(); rowCount++; } // Save the workbook as a CSV file wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); } } Imports System Imports System.Data Imports System.Data.SqlClient Imports IronXL Friend Class Program ' Method to retrieve data from SQL database and return as DataTable Public Shared Function GetData() As DataTable ' Define connection string (modify accordingly for your local server) Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;" Dim query As String = "SELECT * FROM STUDENT_DATA" Try ' Create SQL connection Using conn As New SqlConnection(connString) ' Create SQL command Dim cmd As New SqlCommand(query, conn) conn.Open() ' Create data adapter Using da As New SqlDataAdapter(cmd) ' Query the database and return the result to a data table Dim dt As New DataTable() da.Fill(dt) Return dt End Using End Using Catch ex As Exception Console.WriteLine($"An error occurred: {ex.Message}") Throw End Try End Function Shared Sub Main(ByVal args() As String) ' Retrieve data and store it in a DataTable Dim table As DataTable = GetData() ' Create a new Workbook Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS) wb.Metadata.Author = "JOHN" ' Use the default worksheet Dim ws As WorkSheet = wb.DefaultWorkSheet Dim rowCount As Integer = 1 ' Populate the worksheet with data from the DataTable For Each row As DataRow In table.Rows ws($"A{rowCount}").Value = row(0).ToString() ws($"B{rowCount}").Value = row(1).ToString() ws($"C{rowCount}").Value = row(2).ToString() ws($"D{rowCount}").Value = row(3).ToString() ws($"E{rowCount}").Value = row(4).ToString() rowCount += 1 Next row ' Save the workbook as a CSV file wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv") End Sub End Class $vbLabelText $csharpLabel 程式碼解釋 GetData()方法從 SQL Server 資料庫中擷取資料並將其作為DataTable傳回。 在Main方法中,使用 IronXL 建立WorkBook ,然後將資料填入WorkSheet中。 foreach循環遍歷DataTable的每一行,將每個值插入WorkSheet中的新行中。 最後,使用 IronXL 提供的SaveAsCsv函數儲存 CSV 檔案。 輸出 該程式產生的 CSV 檔案如下所示: 如何在 C# 中將資料集轉換為 CSV 文件,圖 8:CSV 輸出文件 CSV 輸出文件 很明顯,CSV 檔案已正確生成,並且與提供的輸入一致。 摘要 本文示範如何使用 C# 從資料集建立 CSV 檔案。 該庫還可以使用 C# 讀取 CSV 檔案。 從 SQL Server 資料庫中取得資料集並分三步驟建立 CSV 檔案: 從 SQL Server 取得資料。 將資料填入資料表中。 根據該資料表建立 CSV 檔案。 如上所示,使用 IronXL 在 .NET 7 中建立 CSV 檔案非常容易。 該程式性能卓越,因為它使用 .NET 7 和 IronXL 編寫。 IronXL 還提供其他實用功能,例如建立、讀取和操作 Excel 檔案。 更多詳情請參閱官方文件。 此外,IronPDF 還為開發人員提供了將 PDF 文件渲染成圖像以及從 PDF 中提取文字和內容的方法。 此外,IronPDF 還能夠在 PDF 中渲染圖表、添加條碼、透過程式設計方式使用密碼增強安全性。 IronXL 的免費版本用於開發目的。 要在生產環境中部署應用程序,請取得免費試用版或商業許可證。 IronXL 是Iron Suite的一部分,Iron Suite 由五個庫組成: IronXL ,今天我們將對其進行探討。 IronPDF用於產生、讀取和操作 PDF 文件 IronOCR用於從圖像中提取文本 IronBarcode用於讀取和產生條碼 IronWebScraper用於從網站提取結構化資料。 如果同時購買,這些產品只需兩件的價格即可獲得。 常見問題解答 如何將 C# 資料集轉換為 CSV 檔案? 您可以使用 IronXL 將 C# 資料集轉換為 CSV 檔案。首先,從 SQL Server 資料庫等來源擷取資料,並將其填入 DataTable。然後,使用 IronXL 將 DataTable 匯出為 CSV 檔案。 我需要 Microsoft Office 來處理 .NET 中的 Excel 檔案嗎? 不,使用 IronXL 時,您不需要 Microsoft Office 來處理 .NET 中的 Excel 檔案。IronXL 可獨立運作,不需要 Office 或 Interop 依賴。 在 .NET 中安裝 IronXL 處理試算表的最佳方式是什麼? 安裝處理試算表的 IronXL 的最佳方式是透過 Visual Studio 中的 NuGet 套件管理員控制台。使用命令Install-Package IronXL.Excel. IronXL 如何提高使用試算表時的生產力? IronXL.Excel 可讓開發人員在 .NET 應用程式中快速輕鬆地讀取、產生和編輯 Excel 與 CSV 檔案,而無需安裝其他軟體或依賴其他軟體,進而提高生產力。 我可以使用 IronXL 從任何資料來源產生 CSV 檔案嗎? 是的,您可以使用 IronXL 從任何資料來源產生 CSV 檔案。文章透過使用 SQL Server 資料庫填充 DataTable,然後再使用 IronXL 匯出為 CSV 來進行示範。 IronXL 是否與最新的 .NET 版本相容? 是的,IronXL for .NET 與最新的 .NET 版本相容,包括 .NET 7,並在這些平台上提供增強的效能優勢。 使用 IronXL 執行試算表工作有哪些主要優點? 使用 IronXL 的主要優點包括:無需 Microsoft Office 即可處理試算表、支援所有 .NET 版本,以及簡單有效地將資料集轉換為 CSV 檔案。 什麼是 Iron Suite,它包括什麼? Iron Suite 是一系列函式庫的集合,包括用於 Excel 檔案的 IronXL、用於 PDF 的 IronPDF、用於從影像中抽取文字的 IronOCR、用於條碼的 IronBarcode,以及用於網頁資料抽取的 IronWebScraper。 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 檔案如何在 VB.NET 中寫入 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 的相依性。 閱讀更多