使用IRONXL

如何在 C# 中匯出檔案到 CSV

已更新 2024年8月23日
分享:

本文將對比不同的方式,這些方式使 .NET 技術能以程式化方式與 Microsoft Excel 文件介面互動,使用其中一個最知名的庫。IronXL. 此外,它將建立一個設定,用於將 Excel 試算表寫入、讀取和匯出為 CSV 檔案。

1.1 什麼是 .NET Framework?

Microsoft 創建了專有.NET框架一個與Microsoft Windows高度兼容的軟體框架。 它作為主要的公共語言基礎設施(命令行界面 (CLI))實現直到跨平台 .NET 專案取而代之。 它提供多種不同程式語言的相容性,並且附帶一個名為 Framework Class Library 的大型類別庫。(FCL).

1.2 什麼是 CSV?

一種稱為「逗號分隔值」的文本文件格式使用逗號來將值分隔為不同的欄。 表格數據以CSV格式的純文字檔案存儲,其中每行通常對應一個數據記錄。 在 CSV 文件中,每個記錄都有相同數量的字段,這些字段由逗號分隔。

2.0 IronXL 函式庫功能

可以使用 IronXL for .NET C# Excel 程式庫讀取 Microsoft Excel 文件並將其轉換為 CSV 文件。 用戶可以使用IronXL,一個獨立的.NET軟體庫,而無需安裝Microsoft Office或Microsoft.Office.Interop.Excel。 它能讀取多種電子表格格式。

IronXL簡單的 C# API 使在 .NET 環境中讀取、編輯和生成 Excel 試算表變得容易。 IronXL完全支援Xamarin、Linux、macOS、Azure、.NET Core和.NET Framework。

  • IronXL 是一個兼容 .NET Core 和 .NET Framework 的 C# 庫,是 Excel 試算表中最好的之一。
  • IronXL 支援幾乎所有 .NET Framework,包括 Web 應用程式、Windows Forms 和主控台。
  • IronXL 可以在 Linux、macOS 和 Windows 作業系統上使用。
  • IronXL 可快速輕鬆地存取 Excel 文件。
  • IronXL 能夠读取各种Excel文件类型,包括 XLSX、CSV、XLS、XLST、TSV、XLSM 等。 導入、更新和功能匯出數據表和數據集只是該程式庫眾多選項中的一小部分。
  • 對於 Excel 試算表,IronXL 能夠生成計算.
  • IronXL支持多種數據類型適用於 Excel 欄位,包括文本、整數、日期、貨幣、公式和百分比。
  • IronXL 可以處理多個值以日期、貨幣、百分比、文字、數字、公式等形式的 Excel 欄位資料類型。

    如需了解如何將資料匯出到 Excel,請參考此內容。教程.

3.0 在 Visual Studio 中建立新專案

開啟Visual Studio在使用IronXL庫之前,請先創建一個.NET專案。 Visual Studio 可以在任何版本中使用,但建議使用最新版本。 為了簡化,本篇文章將使用主控台應用程式作為此示例。

如何在 C# 中匯出檔案到 CSV,圖 1:打開 Visual Studio,進入“文件”菜單並選擇“新建專案”。 從各種 .NET 專案範本中選擇「主控台應用程式」。

打開 Visual Studio,進入「檔案」選單並選擇「新建專案」。 從各種 .NET 專案模板中選擇「主控台應用程式」。

然後輸入項目的位置和名稱。

如何在C#中匯出檔案到CSV,圖2:在Visual Studio中創建新項目

在 Visual Studio 中創建一個新專案

下拉選單可以用來選擇 .NET Framework。 此專案選擇了.NET Framework 4.7。 接下來,點擊建立按鈕。

當應用程式生成解決方案時,program.cs 文件將開啟,讓您輸入程式碼並建置/執行程式。

如何在C#中匯出文件到CSV,圖3:一旦成功建立控制台應用程式專案,Program.cs 文件將開啟。

成功建立主控台應用程式專案後,Program.cs 檔案將會開啟。

要測試程式碼,下一步是添加IronXL庫。

安裝 IronXL 函式庫,因為它是下個修正所需的。 若要這麼做,請在 NuGet 套件管理器主控台中輸入以下命令:

Install-Package IronXL.Excel

如何將檔案匯出為 CSV 在 C# 中,圖 4:在 NuGet 套件管理控制台中安裝 IronXL 套件

在 NuGet 套件管理器主控台中安裝 IronXL 套件

另一個選擇是使用 NuGet 套件管理器來查找名為 "IronXL" 的套件,然後從這個與 IronXL 相關的所有 NuGet 套件清單中選擇需要的套件下載。

如何在 C# 中匯出文件到 CSV,圖 5:使用 NuGet 套件管理器安裝 IronXL 套件

使用 NuGet 套件管理器安裝 IronXL 套件

4.0 匯出至 CSV 文件

IronXL使創建字串陣列到 CSV 文件變得簡單快捷。 寫入 CSV 檔案因此變得更簡單。 首先,包含 IronXL 命名空間,如下圖的程式碼截圖所示。 然後,一旦代碼顯示出來,使用IronXL的類和方法。

如何在C#中匯出文件到CSV,圖6: 包含IronXL命名空間

包含 IronXL 命名空間

可以使用IronXL創建Excel文件,然後將其轉換為工作簿對象。 此物件提供多種方法來處理它們。 下面的程式碼範例通過將陣列字串轉換為 Excel 工作表來生成 Excel 文件。

using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
Imports IronXL
Imports IronXL.Options
Imports System.Data

Shared Sub Main(ByVal args() As String)
	Dim students() As String = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" }
	Dim workBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = workBook.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each student In students
		writer ("A" & (rowCount)).Value = rowCount.ToString()
		writer ("B" & (rowCount)).Value = student.ToString()
		rowCount += 1
	Next student
	workBook.SaveAsCsv("Sample.csv", ";")
	' or
	Dim stream = workBook.ToStream()
End Sub
VB   C#

上述的代碼-CSV範例將把陣列匯出為Excel文件。欄位標題會在建構陣列後建立。 當第一列建立時,行將逐個添加。 這Workbook一旦資料已新增到陣列字串,物件即被創建。 您可以使用 WorkBook 物件將資料添加到 Excel 工作表中,然後將其儲存在其他地方。 目標是通過創建工作表來製作工作表可以連結到工作簿物件的物件。

在將每個項目添加到電子表格之前,使用 foreach 迴圈從數組字串中讀取每個項目。 資料以 CSV 文件格式儲存使用SaveAsCsv當所有數據都已輸入到工作表中時的方法。 除了分隔符之外,檔案名稱和位置也可以作為可選參數提供。 該庫接著協助將數據寫入新的 CSV 檔案。如果您想閱讀 CSV 檔案而不是使用 Microsoft Excel,您可以使用記事本。 IronXL 還支持使用多種文件格式存儲數據,例如 XLS、CSV 和 XLSX。保存方法。 或者可將工作簿轉換為資料流,然後將資料寫入所需的位置。

輸出 CSV 檔案

如何在 C# 中導出文件至 CSV,圖 7:輸出的 Excel 文件

輸出 Excel 文件

上面可以看到運行代碼範例的輸出結果。 螢幕截圖中新生成的 Excel 表格將字串陣列中的每個資料項目獨立添加。

若要了解有關如何使用IronXL將資料匯出為CSV的更多資訊,請參閱此内容逐步教程.

5.0 結論

最受歡迎的 Excel 插件之一是IronXL. 它不依賴於任何其他外部庫。 它是自包含的,不需要安裝 Microsoft Excel。 它通過多個管道運行。

IronXL提供了一個完整的解決方案,用於所有以程式方式執行的 Microsoft Excel 文件相關任務。 可以執行計算、排序字串或數字、修剪、添加、定位和替換、合併和取消合併、儲存檔案等等。 除了檢查試算表數據,您還可以定義儲存格數據類型。 它讓您能夠讀取和寫入檔案,使處理 Excel 數據更加容易。

IronXL 提供一個免費試用授權允許用戶免費試用其所有主要功能。

IronXL 在推出時以 $749 授供。 如果用戶希望獲得軟體更新和幫助,他們也可以選擇支付一年訂閱費用。 IronXL提供無限重新分發保護,需支付額外費用。 要獲取更準確的定價資訊,請造訪 IronXL 的授權頁面.

< 上一頁
如何在 C# 中導出帶格式的 Excel
下一個 >
如何在C#中編輯電子表格

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 1,111,773 查看許可證 >