跳過到頁腳內容
使用 IRONXL

如何在 C# 中撰寫 CSV 文件

本文將介紹如何在新專案中使用名為IronXL的C#庫來寫入CSV文件。

如何寫入CSV文件

  1. 安裝用於寫入CSV文件的C#庫。

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

  3. 使用WorkBook.CreateWorkSheet創建一個新的工作表。

  4. 使用varworkSheet["cell name"].Value向單元格添加值。

  5. 使用SaveAs方法將電子表格保存為CSV文件。

IronXL

IronXL成為C#開發人員尋求無縫且強大的解決方案以將數據寫入CSV文件的效率燈塔,與CSVHelper NuGet包相比。 在軟件開發的動態環境中,處理和操作數據的能力至關重要,而IronXL憑藉其為C#量身打造的一套強大工具迎面而來。

本文深入探討了IronXL的特性和方法,這使得它成為C#開發人員希望改善寫入CSV文件過程的不二之選,在簡單性和精準度之間取得了完美平衡。

創建一個新的 Visual Studio 專案

要開始使用IronXL庫,第一步要麼是創建一個新的Visual Studio C#項目,要麼加載一個現有項目。 以下是用於在Visual Studio中生成新項目的說明:

  1. 打開Visual Studio並導航到"文件"菜單。 將顯示一個下拉菜單; 在此菜單中選擇"新建"。 此操作將顯示另一側邊菜單。

    如何在C#中寫入CSV文件,圖1:文件菜單 文件菜單

  2. 在側邊菜單中,定位並點擊"項目"。 這將打開一個新窗口。 在此窗口中,利用搜索欄查找"控制台應用程序"。 選擇與C#關聯的選項並點擊下一步按鈕繼續。

    如何在C#中寫入CSV文件,圖2:新項目-控制台應用程序 新項目-控制台應用程序

  3. 接下來將出現一個配置窗口。 輸入項目名稱、指定項目位置,然後點擊下一步按鈕。

    如何在C#中寫入CSV文件,圖3:配置項目 配置項目

  4. 最後的窗口將出現。 在這裡,選擇目標框架並通過點擊創建按鈕啟動項目創建過程。

    如何在C#中寫入CSV文件,圖4:目標框架 目標框架

安裝CSV庫IronXL

現在您已設置項目,是時候將IronXL C#庫合併進來了。 按照以下步驟在您的項目中安裝IronXL:

  1. 在Visual Studio中,導航到工具菜單。 將出現一個下拉菜單—從此菜單選擇NuGet包管理器。
  2. 在NuGet包管理器中,選擇從展開的側邊菜單中管理解決方案的NuGet包。

    如何在C#中寫入CSV文件,圖5:NuGet包 NuGet包

  3. 將彈出一個新窗口。在此窗口中,轉到瀏覽標籤,在搜索欄中輸入"IronXL"。 您會看到IronXL包列表; 選擇最新的並繼續點擊安裝按鈕。

    如何在C#中寫入CSV文件,圖6:IronXL IronXL

使用IronXL寫入CSV文件

使用C# 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
    }
}
Imports IronXL
Imports System.Linq

' This is the main class where execution starts.
Public Class Program
	Shared Sub Main()
		' Main method where all logic is executed
	End Sub
End Class
$vbLabelText   $csharpLabel

這些行導入了來自IronXL庫的必要類和功能以處理Excel文件,以及System.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");
' Create a new workbook. This serves as the container for all worksheets.
Dim workBook As WorkBook = WorkBook.Create()

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

此代碼創建了一個新的Excel工作簿(WorkBook)和一個名為"Receipt"的工作表(WorkSheet)。

添加標題

// 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";
' 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;
' 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

這些行添加了有關三個項目的信息,包括其名稱和價格。

計算總價格

// 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();
' Define the range for price values to be summed.
Dim range = workSheet("B2:B4")

' Calculate the sum of prices.
Dim sum As Decimal = range.Sum()
$vbLabelText   $csharpLabel

使用LINQ,此代碼計算從B2到B4單元格的價格總和。總和存儲在sum變量中。

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;
' 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");
' Save the workbook as a CSV file named "receipt.csv".
workBook.SaveAs("receipt.csv")
$vbLabelText   $csharpLabel

最後,整個工作簿保存為名為"receipt.csv"的CSV文件。

總之,此代碼使用IronXL在Excel工作表中創建了一個基本的收據,計算總價格,將其打印到控制台,然後將工作簿輸出保存為CSV文件。收據包含"產品"和"價格"的列,並根據單個項目價格計算總價格。

如何在C#中寫入CSV文件,圖7:包含標題的收據CSV文件輸出 包含標題的收據CSV文件輸出

結論

這篇綜合文章強調了在C#中寫入CSV文件的重要性並闡明了使用IronXL庫的過程。 它強調了這項技術在各種以數據為中心的應用程序中的基本性質,並展示了IronXL在簡化和優化C#生態系統中的數據處理任務方面的實力。 從項目設置到利用IronXL創建收據並保存為CSV文件的逐步方法為開發人員提供了對C#無縫集成的實踐理解。

通過提供多功能性和效率性,IronXL成為C#開發人員尋求增強其程序和處理、導出數據以CSV格式的能力的寶貴工具,這使其成為各種軟件開發場景中的關鍵資產。

IronXL provides a solution for all Excel-related tasks to be done programmatically whether it be formula calculation, string sorting, trimming, finding and replacing, merging and unmerging, saving files etc. You can also set cell data formats.

完整的寫入CSV文件教程,請訪問此博客。 創建CSV文件的代碼示例可以在以下博客中找到。

IronXL 提供 免費試用版,讓您評估其功能。 如果您發現它對您的項目有用,可以從 $799 開始購買許可證。

常見問題解答

如何在不使用互操作的情況下在 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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。