跳至頁尾內容
使用 IRONXL

如何在 C# 中編寫 CSV 文件

要在 C# 中寫入 CSV 文件,可以使用 IronXL 庫建立工作簿,使用類似workSheet["A1"].Value = "Product"簡單語法將資料新增至工作表單元格,然後使用workBook.SaveAs("file.csv")儲存 - 提供了一種直接的資料匯出方法。

本文將向您展示如何在新的專案中使用名為IronXL的 C# 函式庫來編寫 CSV 檔案。 IronXL 程式庫提供了一個全面的Excel 檔案操作解決方案,無需安裝 Microsoft Office,使其成為伺服器環境和Azure 部署的理想選擇。

如何將資料寫入CSV檔案?

  1. 安裝用於寫入 CSV 檔案的 C# 函式庫。

  2. 使用WorkBook.Create建立一個新工作簿。

  3. 使用WorkBook.CreateWorkSheet建立工作表。

  4. 使用workSheet["cell name"].Value為儲存格新增值。

  5. 使用SaveAs方法另存為 CSV 檔案。

這些步驟為建立電子表格和以各種格式匯出資料奠定了基礎。 無論你處理的是 CSV、 XLSX還是其他支援的格式,過程都類似。 對於更複雜的情況,您還可以匯入 Excel 資料在不同的電子表格檔案類型之間進行轉換

為什麼 IronXL 是 CSV 操作的最佳選擇?

與 CSVHelper NuGet 套件相比,IronXL 對於需要將資料寫入 CSV 檔案的 C# 開發人員來說,是一個高效的解決方案。 在當今的軟體開發環境中,處理和操作資料的能力至關重要,而 IronXL 憑藉其專為 C# 設計的強大工具集,能夠滿足這一需求。

該圖書館在以下幾個關鍵領域表現出色:

-跨平台相容性:可在Windows、LinuxmacOS上無縫運行 -無相依性:與傳統的互通解決方案不同,IronXL 不需要安裝 Excel。 -效能:針對處理大型資料集進行了最佳化,記憶體使用效率高 -相容性強:支援多種檔案格式,包括 XLSX、XLS、TSV、JSON 和 XML。

本文探討了 IronXL 的特性和方法,使其成為 C# 開發人員簡化向 CSV 檔案寫入資料過程的絕佳選擇,兼顧了簡潔性和精確性。 無論您是建立ASP.NET 應用程式、使用Blazor還是開發.NET MAUI 應用程序,IronXL 都能提供一致且可靠的功能。

如何建立一個新的 Visual Studio 專案來進行 CSV 操作?

要開始使用 IronXL 庫,您需要建立一個新的 Visual Studio C# 專案或載入一個現有的專案。 以下是如何在 Visual Studio 中建立新專案的方法:

  1. 開啟 Visual Studio 並導覽至"檔案"選單。 你會看到一個下拉式選單; 從該選單中選擇"新建"。 此操作將顯示另一個側邊選單。

    Visual Studio 檔案選單下拉選單顯示"新建"、"開啟"、"複製儲存庫"以及各種專案建立選項圖 1:Visual Studio 檔案選單,其中"新建 > 專案"已高亮顯示,顯示了為 CSV 檔案操作建立新的 C# 專案的第一步

  2. 在側邊選單中,找到並點選"項目"。 這將打開一個新視窗。 使用搜尋欄尋找"控制台應用程式"。 選擇與 C# 相關的選項,然後按一下"下一步"按鈕繼續。 控制台應用程式範本非常適合示範 CSV 操作,並且可以輕鬆地進行調整以適應Web 應用程式雲端部署

    Visual Studio 新專案對話方塊顯示已選擇"控制台應用程式"模板,並提供 C#、跨平台支援(Linux、macOS、Windows)和 .NET Core 框架等選項圖 2:在 Visual Studio 中建立具有跨平台 .NET Core 支援的新控制台應用程式項目

  3. 接下來會出現一個設定視窗。 輸入項目名稱,指定項目位置,然後按一下"下一步"按鈕。 考慮將專案整理到專門的資料夾結構中,尤其是在處理多個 Excel 檔案資料庫整合時。

    Visual Studio 專案配置對話方塊顯示了名為"SpreadSheet"的新控制台應用程式的設置,其中包含 Linux、macOS、Windows 和 Console 平台選項圖 3:在 Visual Studio 中配置新專案設置,包括專案名稱、位置和解決方案選項

  4. 最後一個視窗出現。 選擇目標框架,然後點選"建立"按鈕開始專案建立流程。 為了與 IronXL 的條件格式設定圖表建立等功能實現最佳相容性,建議使用 .NET 6.0 或更高版本。

    Visual Studio 專案建立對話方塊顯示"其他資訊"步驟,其中已選擇 .NET 5.0 作為控制台應用程式的目標框架圖 4:建立新的控制台應用程式專案時,在"其他資訊"對話方塊中選擇 .NET 5.0 作為目標框架

如何安裝 IronXL CSV 庫?

專案設定完成後,讓我們新增 IronXL C# 庫。 請依照以下步驟安裝 IronXL:

  1. 在 Visual Studio 中,前往"工具"功能表。 此時會顯示一個下拉式選單-從該選單中選擇 NuGet 套件管理器。 IronXL 也可以透過Docker 容器安裝,用於容器化應用程式。
  2. 在 NuGet 套件管理員中,從側邊選單中選擇"管理解決方案的 NuGet 套件"。

    Visual Studio 工具選單顯示套件管理器選項,包括套件管理器控制台、管理解決方案的 NuGet 套件和套件管理器設定。 透過 Visual Studio 中的"工具"功能表存取 NuGet 套件管理器,安裝用於在 C# 中寫入 CSV 檔案的套件。

  3. 開啟一個新視窗。 前往"瀏覽"選項卡,然後在搜尋欄中鍵入"IronXL"。 你會看到 IronXL 套餐清單; 選擇最新版本,然後點擊"安裝"按鈕。 該庫支援各種操作,包括單元格格式設定公式編輯影像處理

    NuGet 套件管理器顯示 IronXL.Excel 套件(版本 2023.11.12)可供安裝,下載量為 592K。 Visual Studio 中的 NuGet 套件管理器介面顯示了 IronXL.Excel 套件,該套件已準備好進行安裝。 請注意最新的穩定版本(2023.11.12)以及該軟體包超過 59.2 萬次的下載量,非常受歡迎。

安裝完成後,如果您在生產環境中使用 IronXL,請確保您的授權金鑰已正確配置。 對於開發和測試,您可以使用免費試用版

如何使用 IronXL 將資料寫入 CSV 檔案?

讓我們使用 IronXL 庫將資料寫入 CSV 檔案。 在本節中,我們將建立一個新的 CSV 檔案並向其中填入資料。 以下範例使用 IronXL 在 CSV 檔案中建立一個簡單的收據。讓我們逐步分析程式碼。

為什麼需要導入 IronXL 和 System.Linq?

using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
using IronXL; 
using System.Linq;

// This is the main class where execution starts.
public class Program {
    static void Main() {
        // Main method where all logic is executed
    }
}
$vbLabelText   $csharpLabel

這些程式碼從 IronXL 庫匯入處理 Excel 檔案所需的類別和功能,以及從System.Linq命名空間匯入 LINQ 擴充方法。 在處理範圍和對單元格資料執行數學運算時,LINQ 特別有用。

如何建立WorkBookWorkSheet

// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
// Create a new workbook. This serves as the container for all worksheets.
WorkBook workBook = WorkBook.Create();

// Create a new worksheet within the workbook named "Receipt".
WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");
$vbLabelText   $csharpLabel

這段程式碼會建立一個新的 Excel 工作簿 ( WorkBook ),並在該工作簿中建立一個名為"Receipt"的工作表 ( WorkSheet )。 您也可以載入現有電子表格開啟特定工作表進行修改。 對於更複雜的情況,可以考慮在單一工作簿中管理多個工作表

何時應該在 CSV 檔案中新增標題?

// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
// Set the header row for columns. Headers added for better understanding of data.
workSheet["A1"].Value = "Product"; 
workSheet["B1"].Value = "Price";
$vbLabelText   $csharpLabel

這些程式碼行設定了工作表第一行中各列的標題行,並為每一列新增標籤。 標題對於資料組織至關重要,可以使用儲存格格式設定選項(如字體大小、邊框和對齊方式)來設定標題樣式。 您還可以套用背景顏色和圖案,使標題更加醒目。

新增資料行的最佳方法是什麼?

// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
// Populate worksheet with product data and their respective prices.
workSheet["A2"].Value = "Item 1"; 
workSheet["B2"].DoubleValue = 20.10; 

workSheet["A3"].Value = "Item 2"; 
workSheet["B3"].DoubleValue = 15.50; 

workSheet["A4"].Value = "Item 3"; 
workSheet["B4"].DoubleValue = 10.25;
$vbLabelText   $csharpLabel

這幾行文字補充了三個商品的訊息,包括它們的名稱和價格。 對於批次操作,您可能需要一次插入多行複製現有儲存格。 處理大型資料集時,可考慮使用DataTable 整合以進行高效率的資料操作。

如何計算 CSV 檔案中的值?

// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
// Define the range for price values to be summed.
var range = workSheet["B2:B4"];

// Calculate the sum of prices.
decimal sum = range.Sum();
$vbLabelText   $csharpLabel

這段程式碼使用 LINQ 計算儲存格 B2 到 B4 中價格的總和,並將總和儲存在sum變數中。 IronXL 支援各種聚合函數,包括平均值、最小值和最大值。 對於更複雜的計算,您可以直接在儲存格中使用Excel 公式

為什麼要更新WorkSheet中的計算值?

// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
// Display the sum in the console.
System.Console.WriteLine(sum);

// Update the total price in the worksheet.
workSheet["B5"].Value = sum;
$vbLabelText   $csharpLabel

總和會列印到控制台,同時也會加入到工作表的 B5 儲存格中。 這種方法可以確保資料的一致性,並允許根據計算值進行條件格式化。 您也可以添加註釋來解釋計算過程或提供更多背景資訊。

哪種方法可以將工作簿儲存為 CSV 檔案?

// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
// Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv");
$vbLabelText   $csharpLabel

最後,將整個工作簿儲存為名為" receipt.csv "的 CSV 檔案。 IronXL 可自動處理從 Excel 格式到 CSV 格式的轉換。您也可以儲存為其他格式,例如JSON 或 XML ,以適應不同的整合場景。 對於生產環境,請考慮使用密碼保護敏感資料。

以下是完整的程式碼範例,示範了所有討論過的概念:

using IronXL;
using System.Linq;

public class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");

        // Add headers with formatting
        workSheet["A1"].Value = "Product";
        workSheet["B1"].Value = "Price";

        // Style the header row
        workSheet["A1:B1"].Style.Font.Bold = true;
        workSheet["A1:B1"].Style.FillPattern = IronXL.Styles.FillPattern.Solid;
        workSheet["A1:B1"].Style.BackgroundColor = "#CCCCCC";

        // Add product data
        workSheet["A2"].Value = "Item 1";
        workSheet["B2"].DoubleValue = 20.10;

        workSheet["A3"].Value = "Item 2";
        workSheet["B3"].DoubleValue = 15.50;

        workSheet["A4"].Value = "Item 3";
        workSheet["B4"].DoubleValue = 10.25;

        // Calculate and add total
        var priceRange = workSheet["B2:B4"];
        decimal total = priceRange.Sum();

        workSheet["A5"].Value = "Total";
        workSheet["B5"].Value = total;
        workSheet["A5:B5"].Style.Font.Bold = true;

        // Apply number formatting to prices
        workSheet["B2:B5"].FormatString = "$#,##0.00";

        // Save as CSV file
        workBook.SaveAs("receipt.csv");

        Console.WriteLine($"Receipt saved successfully. Total: ${total:F2}");
    }
}
using IronXL;
using System.Linq;

public class Program
{
    static void Main()
    {
        // Create a new workbook and worksheet
        WorkBook workBook = WorkBook.Create();
        WorkSheet workSheet = workBook.CreateWorkSheet("Receipt");

        // Add headers with formatting
        workSheet["A1"].Value = "Product";
        workSheet["B1"].Value = "Price";

        // Style the header row
        workSheet["A1:B1"].Style.Font.Bold = true;
        workSheet["A1:B1"].Style.FillPattern = IronXL.Styles.FillPattern.Solid;
        workSheet["A1:B1"].Style.BackgroundColor = "#CCCCCC";

        // Add product data
        workSheet["A2"].Value = "Item 1";
        workSheet["B2"].DoubleValue = 20.10;

        workSheet["A3"].Value = "Item 2";
        workSheet["B3"].DoubleValue = 15.50;

        workSheet["A4"].Value = "Item 3";
        workSheet["B4"].DoubleValue = 10.25;

        // Calculate and add total
        var priceRange = workSheet["B2:B4"];
        decimal total = priceRange.Sum();

        workSheet["A5"].Value = "Total";
        workSheet["B5"].Value = total;
        workSheet["A5:B5"].Style.Font.Bold = true;

        // Apply number formatting to prices
        workSheet["B2:B5"].FormatString = "$#,##0.00";

        // Save as CSV file
        workBook.SaveAs("receipt.csv");

        Console.WriteLine($"Receipt saved successfully. Total: ${total:F2}");
    }
}
$vbLabelText   $csharpLabel

總而言之,這段程式碼使用 IronXL 在 Excel 工作表中建立一個基本的收據,計算總價,將其列印到控制台,並將工作簿儲存為 CSV 檔案。收據包含"產品"和"價格"兩列,並根據各個商品的價格計算總價。 自動調整列寬凍結窗格等附加功能可增強最終輸出效果。

一個名為"receipt.csv"的CSV檔案在文字編輯器中打開,顯示一張簡單的收據,包含三件商品、它們的價格以及總計45.85。 以下是一個 C# 程式的範例輸出,該程式將收據資料寫入 CSV 文件,包括標題行以及以逗號分隔的產品和價格值。

有哪些關鍵要點?

本文全面介紹了在 C# 中編寫 CSV 檔案的重要性,並解釋了使用 IronXL 程式庫的過程。 它強調了這項技能在各種以數據為中心的應用程式中的基本性質,並展示了 IronXL 簡化和優化 C# 生態系統中資料操作任務的能力。 從專案設定到使用 IronXL 建立收據並將其儲存為 CSV 文件,這種逐步的方法可讓您實際了解 C# 和 Excel 操作之間的無縫整合。

使用 IronXL 進行 CSV 操作的主要優點包括:

-簡潔性:直覺的 API,與 Excel 的儲存格引用類似 -靈活性:支援各種資料類型和數字格式 -效能:高效處理大型資料集 -相容性:可跨平台和.NET 版本運行 -功能豐富:除了 CSV 寫入之外,還支援圖表命名範圍表格。

IronXL憑藉其多功能性和高效性,成為 C# 開發人員增強處理和匯出普遍使用的 CSV 格式資料能力的寶貴工具,使其成為各種軟體開發場景中的關鍵資產。

IronXL 為所有與 Excel 相關的任務提供了一個解決方案,可以透過程式設計完成,包括公式計算字串排序修剪、尋找和替換、合併和取消合併儲存檔案等等。 您還可以設定單元格資料格式、使用超鏈接,甚至可以對行和列進行分組和取消分組,以便更好地組織資料。

有關寫入 CSV 檔案的完整教程,請造訪此部落格。 創建 CSV 檔案的程式碼範例可以在以下部落格中找到。 其他資源包括有關讀取 CSV 檔案將 DataTable 轉換為 CSV 的教程。

IronXL 提供免費試用,方便您評估其功能。 如果您覺得它對您的專案有用,您可以購買許可證,價格從$799起。 該庫還提供全面的文件程式碼範例API 參考,幫助您快速入門。

常見問題解答

如何在不使用 Interop 的情況下用 C# 寫入 CSV 檔案?

您可以使用 IronXL 庫在 C# 中編寫 CSV 文件,而無需使用 Interop。 IronXL 可讓您建立工作簿和工作表,新增數據,並使用其內建方法直接儲存為 CSV 檔案。

IronXL 在寫入 CSV 檔案方面比 CSVHelper 有哪些優勢?

IronXL 除了 CSV 寫入功能外,還提供更廣泛的功能,例如公式計算、儲存格格式設定以及匯出為各種 Excel 格式,為開發人員提供更全面的解決方案。

如何在 C# 專案中開始使用 IronXL?

要開始使用 IronXL,您需要透過 Visual Studio 中的 NuGet 套件管理器進行安裝。建立一個新的 C# 項目,導航至“工具”,選擇“NuGet 套件管理器”,搜尋“IronXL”,然後進行安裝。

除了寫入 CSV 檔案之外,IronXL 還可以用來操作 Excel 檔案嗎?

是的,IronXL 能夠處理各種與 Excel 相關的任務,例如讀取和寫入 Excel 檔案、執行公式計算以及管理多個工作表中的資料。

如何使用 IronXL 在 C# 中新增資料至工作表?

若要使用 IronXL 在工作表中新增數據,請使用儲存格標識符存取各個儲存格,並使用Value屬性賦值。然後,您可以將工作表儲存為所需的格式。

如何使用 IronXL 將工作簿另存為 CSV 檔案?

在 IronXL 中建立並填入工作簿和工作表後,您可以使用SaveAs方法將其儲存為 CSV 文件,並指定文件路徑和格式。

IronXL是否有可供評估的試用版?

是的,IronXL 提供免費試用版,開發者可以在購買前探索和評估其功能。

如何使用 IronXL 計算工作表中數字的總和?

您可以使用 IronXL 透過 LINQ 對定義的儲存格範圍求和來計算工作表中數字的總和,利用該程式庫與 C# 的 LINQ 表達式的相容性。

使用 IronXL 在 C# 中編寫 CSV 檔案時,常見問題有哪些?

常見問題可能包括檔案路徑或權限錯誤、資料格式不符或缺少資料欄位。正確的錯誤處理和驗證有助於緩解這些問題。

IronXL 能否有效率地處理 C# 專案中的大型資料集?

是的,IronXL 的設計宗旨就是高效處理大型資料集,讓開發人員能夠讀取、寫入和操作大型 Excel 文件,而不會出現明顯的效能延遲。

喬迪·巴迪亞
軟體工程師
喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。