使用 IRONXL 如何在 C# 中將數據集轉換為 CSV Jordi Bardia 更新日期:7月 28, 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 以下文章將展示如何將 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 中的新 Console 應用程序 Visual Studio 中的新 Console 應用程序 現在,安裝 IronXL NuGet Package 在此應用程序中使用。 安裝 IronXL 打開 NuGet Package Manager Console,並輸入以下命令。 Install-Package IronXL.Excel NuGet Package 將被安裝並可使用,如下所示。 !如何在 C# 中將數據集轉換為 CSV,圖 6:IronXL 包及其依賴包之安裝 IronXL 包及其依賴包之安裝 現在,讓我們編寫一些代碼,以將數據集轉換為 C# 中的 CSV 文件。 此示例將從 SQL 伺服器數據庫中填充數據。 從 SQL DB 獲取數據集後,我們將使用此輸入數據創建 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 文件。 如此前展示,在 .NET 7 使用 IronXL 創建 CSV 文件非常簡單。 由於該程序是用 .NET 7 和 IronXL 編寫的,其性能優異。 IronXL 提供其他有用的功能,如創建、讀取和操作 Excel 文件。 如需更多詳細信息,請訪問官方文檔。 Additionally, IronPDF offers developers methods to render PDF documents into images and extract text and content from a PDF. Additionally, IronPDF is also capable of rendering charts in PDFs, adding barcodes, enhancing security with passwords programmatically. IronXL 的免費版本用於開發目的。 To deploy an application in production, please obtain a free trial version or a commercial license. IronXL 是 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 中處理電子表格的最佳安裝方式是什麼? 在 .NET 中處理電子表格的最佳安裝方式是通過 Visual Studio 的 NuGet 封裝管理器控制台安裝 IronXL。使用命令:Install-Package IronXL.Excel。 IronXL 如何在處理電子表格時提高生產力? IronXL 通過允許開發者快速輕鬆地讀取、生成和編輯 .NET 應用中的 Excel 和 CSV 文件,提高生產力,無需額外的軟件安裝或依賴項。 我可以使用 IronXL 從任何數據源生成 CSV 文件嗎? 是的,您可以使用 IronXL 從任何數據源生成 CSV 文件。該文章展示了如何使用 SQL Server 數據庫填充 DataTable,然後使用 IronXL 將其導出為 CSV。 IronXL 與最新的 .NET 版本兼容嗎? 是的,IronXL 與最新的 .NET 版本(包括 .NET 7)兼容,並在這些平台上提供了增強的性能優勢。 使用 IronXL 處理電子表格任務的主要優點是什麼? 使用 IronXL 的主要優點包括:無需 Microsoft Office 處理電子表格,支持所有 .NET 版本,以及高效、簡單地將資料集轉換為 CSV 文件。 什麼是 Iron Suite 及其包含什麼內容? Iron Suite 是一套函式庫,包括用於 Excel 文件的 IronXL、用於 PDF 的 IronPDF、從圖像中提取文本的 IronOCR、條形碼的 IronBarcode 以及網頁數據提取的 IronWebScraper。 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 讀取器的有效方法,提供實用範例。 閱讀更多 如何在 C# 中導入 Excel 文件如何在 VB.NET 中撰寫 Excel ...
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多