跳過到頁腳內容
使用 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 專案建立對話框,顯示 圖 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 檔案。收據包含"產品"和"價格"兩列,並根據各個商品的價格計算總價。 自動調整列寬凍結窗格等附加功能可增強最終輸出效果。

A 一個名為 以下是一個 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 參考,幫助您快速入門。

常見問題解答

如何在不使用互操作的情況下在 C# 中編寫 CSV 文件?

您可以利用 IronXL 庫在 C# 中編寫 CSV 文件而無需互操作。IronXL 允許您創建工作簿和工作表,添加數據,並使用其內置方法將其直接保存為 CSV 文件。

IronXL 在編寫 CSV 文件方面比 CSVHelper 有什麼優勢?

IronXL 提供了比僅僅是 CSV 編寫更廣泛的功能,如公式計算、單元格格式化和多種 Excel 格式的導出,為開發人員提供了更全面的解決方案。

如何在 C# 項目中開始使用 IronXL?

要開始使用 IronXL,您需要通過 Visual Studio 中的 NuGet 套件管理器安裝它。創建一個新的 C# 項目,導航到“工具”,選擇“NuGet 套件管理器”,搜索“IronXL”並安裝它。

IronXL 除了撰寫 CSV 外,還能用來處理 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 文件而無明顯性能滯後。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我