使用IRONXL

如何在 C# 中寫入 CSV 檔案中的數據

已更新 2024年3月31日
分享:

本文將探討如何使用IronXL寫入CSV檔案。

IronXL 函式庫

IronXL是一個 .NET Excel 函式庫,提供全面的功能,可以在 C# 應用程式中建立、讀取和編輯試算表檔案。 它在性能和輸出準確性方面表現出色。 它支持多种電子表格工作簿文件格式,如XLS、XLSX、XLSM、CSV和TSV。此外,它使您能够保存或匯出資料從 Excel 文件轉換為 CSV、JSON、HTML、二進位、位元組陣列、DataSet 或 DataTable 等格式。

使用 IronXL,開發人員可以流暢地處理工作表和單元格範圍,提供一種優雅的方法來操作數據。 它允許輕鬆編輯公式並促進表中公式的重新計算。 排序資料基於範圍、列或行是簡單的。 您還可以通過修改版面配置來凍結窗格, 自動調整行/列,和添加/刪除行/列.

IronXL 提供使用者密碼保護 Excel 文件的功能,並設置編輯許可權。 此外,它提供功能以添加、刪除和提取圖像從 Excel 工作表。 該庫包含多種 Excel 功能,支持各種單元格數據格式。 這使得IronXL成為處理Excel文件最直觀的API之一。

IronXL 的一個顯著優勢是它不需要在機器上安裝 Microsoft Excel 或 Office Interop 的依賴。它是一個獨立的解決方案,可以在多個平台上運行,並且與 .NET 版本 7、6 和 5 兼容。它還支持 .NET Core 2 和 3,以及標準 2 版本。 若要處理 Excel 試算表,IronXL 與 .NET Framework 4.5 及更高版本相容。

建立主控台應用程式

建議使用 Visual Studio 的最新版本來開始創建應用程式。 Visual Studio 是 C# 開發的官方集成開發環境,您必須安裝它。 您可以從Microsoft Visual Studio 網站如果尚未安裝。

以下步驟將創建一個名為「DemoApp」的新專案。

  1. 打開 Visual Studio,然後點擊「建立新專案」。

    如何在 C# 中寫入 CSV 文件,圖 1:打開 Visual Studio

    打開 Visual Studio

  2. 選擇主控台應用程式,然後點擊「下一步」。

    如何在 C# 中將數據寫入 CSV 文件,圖 2:在 Visual Studio 中創建一個新項目

    在 Visual Studio 中創建新項目

  3. 設置項目名稱

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

    配置您的新專案

  4. 選擇 .NET 版本。 選擇穩定版本 .NET 6.0。

    如何在 CSV 檔案中寫入資料(使用 C#),圖 4:.NET Framework 的選擇

    .NET Framework 選擇

安裝 IronXL 程式庫

一旦專案建立,就需要在專案中安裝IronXL庫以使用它。 按照以下步驟進行安裝。

  1. 從解決方案資源管理器或工具中打開 NuGet 包管理器。

    如何在 C# 中寫入 CSV 文件中的數據,圖 5:導航到 NuGet Package Manager

    導航至 NuGet 套件管理器

  2. 瀏覽 IronXL 庫並選擇當前專案。 點擊安裝。

    如何在C#中寫入CSV文件數據,圖6:在NuGet包管理器UI中搜索並安裝IronXL包

    在 NuGet 包管理器 UI 中搜尋並安裝 IronXL 套件

    Program.cs 文件的顶部添加以下命名空间

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

在 C# 中創建新的工作簿

IronXL 提供創建空白工作簿的功能。 工作簿是一個包含多個工作表的電子表格。 資料儲存在儲存格中。 CSV 看起來也像是電子表格,但擴展名是 CSV 檔案。

// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
// Creates a new Instance of WorkBook SpreadSheet
WorkBook workBook = new WorkBook();
' Creates a new Instance of WorkBook SpreadSheet
Dim workBook As New WorkBook()
$vbLabelText   $csharpLabel

現在,讓我們在IronXL中創建一個工作表Workbook. 有多種方法可以在工作簿中建立工作表。

// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Adds sheet1 to the workbook
WorkSheet sheet = workBook.DefaultWorkSheet;

// Creates a worksheet with name Sheet1
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
' Adds sheet1 to the workbook
Dim sheet As WorkSheet = workBook.DefaultWorkSheet

' Creates a worksheet with name Sheet1
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
$vbLabelText   $csharpLabel

如果您想在現有的工作簿中新增更多工作表,請使用CreateWorkSheet方法。

注意:您可以使用WorkBook.LoadCSV如果 CSV 檔案已經存在的方法。 您可以看到這個程式碼範例頁面載入現有的CSV文件。

將數據寫入 WorkSheet

使用 IronXL 撰寫 CSV 檔案很簡單。 它提供 Excel 功能來將數據寫入 CSV。可以使用單元格引用在指定位置添加值。 在這裡,我將使用 foreach 迴圈添加一些員工的記錄。

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}
Dim employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Dim i As Integer = 2
sheet ("A1").Value = "ID"
sheet ("B1").Value = "Name"
sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee
$vbLabelText   $csharpLabel

在上面的代碼範例中,創建了一個 employeenames 陣列並將第一行設置為標題:ID、Name、Salary。 變數 i 也初始化為值 2,將從標題下方的第 2 行開始輸入記錄。 foreach 迴圈從清單中取出一名員工,並將其與 ID 和薪資值一起加入到行中。 在迴圈結束之前,i 的值應該增加,否則每條記錄會被添加到同一行。

將資料儲存至 CSV 檔案

最後一步是保存 CSV 檔案。IronXL 提供了這個方法。SaveAsCsv將工作簿保存為 CSV 文件。此方法的第一個參數是 CSV 文件名稱,第二個參數是分隔符。

workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",");
workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText   $csharpLabel

內容如下:

using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
using System;
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");

string [] employeenames = { "John", "Peter", "Harry", "Kevin", "Brian" };
int i = 2;
sheet ["A1"].Value = "ID";
sheet ["B1"].Value = "Name";
sheet ["C1"].Value = "Salary";

foreach (var employee in employeenames)
{
    sheet ["A" + i].Value = i;
    sheet ["B" + i].Value = employee;
    sheet ["C" + i].Value = i * 1000;
    i++;
}

workBook.SaveAsCsv("sample.csv", ",");
Imports System
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")

Private employeenames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
Private i As Integer = 2
Private sheet ("A1").Value = "ID"
Private sheet ("B1").Value = "Name"
Private sheet ("C1").Value = "Salary"

For Each employee In employeenames
	sheet ("A" & i).Value = i
	sheet ("B" & i).Value = employee
	sheet ("C" & i).Value = i * 1000
	i += 1
Next employee

workBook.SaveAsCsv("sample.csv", ",")
$vbLabelText   $csharpLabel

輸出

如何在C#中寫入CSV檔案,第7圖:輸出CSV檔案

輸出 CSV 檔案

摘要

本文介紹了一種使用IronXL在C#中撰寫CSV文件的簡單方法。 IronXL 也提供方便的功能來處理現有的 CSV 文件。 它同時允許您寫入 CSV 文件、創建新的 Excel 文件並通過簡單的語法將數據寫入其中。 IronXL 也可以在未安裝 Microsoft Office 的情況下讀取和寫入 Excel 文件。 要在不同的電子試算表格式之間進行轉換,您可以查看此程式碼範例頁面.

IronXL 是免費供開發使用的,並可以獲得商業用途的許可。 您還可以試用 IronXL 免費版試用商業用途。

Kannaopat Udonpant

坎納帕特·烏頓潘

軟體工程師

 LinkedIn

在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat 也成為了車輛機器人實驗室的成員,該實驗室隸屬於生物生產工程學系。2022 年,他利用自己的 C# 技能,加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。Kannapat 珍視這份工作,因為他可以直接向負責撰寫大部分 IronPDF 程式碼的開發人員學習。除了同儕學習外,Kannapat 還享受在 Iron Software 工作的社交方面。當他不在撰寫程式碼或文件時,Kannapat 通常會在 PS5 上玩遊戲或重看《最後生還者》。
< 上一頁
如何在ASP.NET中查看Excel
下一個 >
如何使用 C# 設定 Excel 儲存格的背景顏色