跳過到頁腳內容
使用 IRONXL

如何在 C# 中撰寫 CSV 文件

本文將介紹如何在新的專案中使用名為IronXL的 C# 函式庫編寫 CSV 檔案。

如何撰寫 CSV 文件

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

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

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

  4. 使用var將值新增至workSheet["cell name"].Value各個儲存格。

  5. 使用SaveAs方法將電子表格另存為 CSV 檔案。

IronXL。

與 CSVHelper NuGet 套件相比,IronXL 為尋求無縫且強大的 CSV 檔案資料寫入解決方案的 C# 開發人員提供了一個高效的標竿。 在瞬息萬變的軟體開發領域,處理和操作資料的能力至關重要,而 IronXL 憑藉其專為 C# 量身定制的強大工具集,完美地滿足了這一需求。

本文深入探討了 IronXL 的特性和方法,使其成為 C# 開發人員增強向 CSV 檔案寫入資料流程的首選工具,在簡單性和精確性之間取得了完美的平衡。

建立新的 Visual Studio 專案

要開始使用 IronXL 庫,第一步是建立一個新的 Visual Studio C# 專案或載入一個現有的專案。 以下是在 Visual Studio 中建立新專案的步驟:

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

    如何在 C# 中編寫 CSV 文件,圖 1:文件選單 File Menu

  2. 在側邊選單中,找到並點選"項目"。 這將打開一個新視窗。 在此視窗中,使用搜尋列尋找"控制台應用程式"。 選擇與 C# 相關的選項,然後按一下"下一步"按鈕繼續。

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

  3. 接下來會出現一個設定視窗。 輸入項目名稱,指定項目位置,然後按一下"下一步"按鈕。

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

  4. 最後一個視窗將會出現。 在這裡,選擇目標框架,然後點擊"建立"按鈕啟動專案建立過程。

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

安裝 IronXL CSV 庫

專案設定完成後,現在是時候引入 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 提供了一個解決方案,可以以程式設計方式完成所有與 Excel 相關的任務,包括公式計算、字串排序、修剪、尋找和替換、合併和取消合併儲存檔案等。您也可以設定儲存格資料格式。

有關寫入 CSV 檔案的完整教程,請造訪此部落格。 創建 CSV 檔案的程式碼範例可以在以下部落格中找到。

IronXL 提供免費試用,方便您評估其功能。 如果您覺得它對您的專案有用,您可以購買許可證,價格從$799起。

常見問題解答

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

您可以利用 IronXL 函式庫以 C# 撰寫 CSV 檔案,而不需要 Interop。IronXL 允許您建立工作簿和工作表、新增資料,並使用其內建的方法直接儲存為 CSV 檔案。

與 CSVHelper 相比,IronXL 在撰寫 CSV 檔案方面有哪些優勢?

IronXL 提供了更廣泛的功能,而不僅僅是 CSV 寫入,例如公式計算、單元格格式化以及以各種 Excel 格式匯出,為開發人員提供了更全面的解決方案。

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

要開始使用 IronXL,您需要透過 Visual Studio 中的 NuGet 套件管理員安裝。建立一個新的 C# 專案,導覽到「工具」,選擇「NuGet 套件管理員」,搜尋「IronXL」,然後安裝。

除了寫 CSV 之外,IronXL.Excel 還可以用來處理 Excel 檔案嗎?

是的,IronXL.Excel 能夠處理多種 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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。