跳至頁尾內容
使用 IRONXL

如何在 C# 中將文件匯出為 CSV 文件

本文將比較分析 .NET 技術使用最知名的函式庫之一IronXL以程式設計方式與 Microsoft Excel 文件互動的各種方法。 此外,它還將建立一個用於寫入、讀取和匯出 Excel 電子表格到 CSV 檔案的設定。

1.1 什麼是 .NET Framework?

微軟創建了專有的.NET Framework ,這是一個主要與 Microsoft Windows 相容的軟體框架。 在跨平台的 .NET 專案出現之前,它一直是主要的通用語言基礎架構 (CLI) 實作。 它提供對多種不同程式語言的語言相容性,並附帶一個名為框架類別庫 (FCL) 的龐大類別庫。

1.2 什麼是 CSV?

一種名為"逗號分隔值"的文字檔案格式使用逗號將值分成不同的欄位。 表格資料以純文字儲存在 CSV 格式檔案中,其中每一行通常對應一筆資料記錄。 在 CSV 檔案中,每筆記錄都有相同數量的字段,字段之間用逗號分隔。

2.0 IronXL 庫功能

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

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 窗體和控制台應用程式。
  • 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 中建立新項目

在使用 IronXL 庫之前,請開啟Visual Studio並建立 .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 -Version 2023.8.29

如何在 C# 中將文件匯出為 CSV 檔案?圖 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;

class Program
{
    static void Main(string[] args)
    {
        // Array of student names
        string[] students = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };

        // Create a new workbook with an Excel file format of XLS
        var workBook = WorkBook.Create(ExcelFileFormat.XLS);

        // Get the default worksheet (where student data will be written)
        var workSheet = workBook.DefaultWorkSheet;

        // Start adding data to worksheet from row 1
        int rowCount = 1;
        foreach (var student in students)
        {
            // Set the value in column A for student ID
            workSheet["A" + rowCount].Value = rowCount.ToString();

            // Set the value in column B for student name
            workSheet["B" + rowCount].Value = student.ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("Sample.csv", ";");

        // Alternately, convert the workbook to a stream
        var stream = workBook.ToStream();
    }
}
using IronXL;
using IronXL.Options;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Array of student names
        string[] students = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };

        // Create a new workbook with an Excel file format of XLS
        var workBook = WorkBook.Create(ExcelFileFormat.XLS);

        // Get the default worksheet (where student data will be written)
        var workSheet = workBook.DefaultWorkSheet;

        // Start adding data to worksheet from row 1
        int rowCount = 1;
        foreach (var student in students)
        {
            // Set the value in column A for student ID
            workSheet["A" + rowCount].Value = rowCount.ToString();

            // Set the value in column B for student name
            workSheet["B" + rowCount].Value = student.ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("Sample.csv", ";");

        // Alternately, convert the workbook to a stream
        var stream = workBook.ToStream();
    }
}
$vbLabelText   $csharpLabel

上述程式碼範例會將陣列匯出到 Excel 檔案。列標題在陣列建置完成後建立。 在建立第一列之後,再逐行新增後續行。 將資料加入陣列字串後,就會建立WorkBook物件。 您可以使用WorkBook物件向 Excel 工作表新增數據,然後將其儲存到其他位置。 目標是透過建立WorkSheet物件來建立工作表,該物件可以連結到工作簿物件。

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

輸出 CSV 檔案

如何在 C# 中將文件匯出為 CSV 文件,圖 7:輸出的 Excel 文件 輸出的 Excel 文件

上面顯示的是運行程式碼範例的輸出結果。 截圖中新產生的 Excel 表格中,字串陣列中的每個資料項目都是獨立新增到表格中的。

要了解有關如何使用 IronXL 將資料匯出為 CSV 的更多信息,請參閱此分步教程

5.0 結論

IronXL是Excel中最受歡迎的插件之一。 它不依賴任何其他外部程式庫。 它是獨立運作的,無需安裝微軟Excel。 它透過多個管道運作。

IronXL為所有透過程式執行的 Microsoft Excel 文件相關任務提供完整的解決方案。 可以進行計算、對字串或數字進行排序、修剪、添加、定位和替換、合併和取消合併、保存文件等等。 除了檢查電子表格資料外,您還可以定義儲存格資料類型。 它可以讀取和寫入文件,使處理 Excel 資料更加容易。

IronXL 提供免費試用許可證,讓用戶有機會免費試用其所有主要功能。

IronXL 在發佈時提供$799 。 如果用戶想要獲得軟體更新和協助,他們也可以選擇支付一年的訂閱費用。 IronXL 提供額外付費的無限次再分送保護。 如需了解更準確的定價信息,請訪問 IronXL 的許可頁面

常見問題解答

如何使用 C# 程式設計方式將 Excel 資料匯出為 CSV 檔案?

要在 C# 中以程式設計方式將 Excel 資料匯出為 CSV 文件,可以使用 IronXL。首先,在 C# 程式中建立一個工作簿和一個工作表,向其中填充數據,然後使用SaveAsCsv方法將數據匯出到 CSV 檔案。

使用 C# 匯出為 CSV 檔案是否必須安裝 Microsoft Excel?

不,無需安裝 Microsoft Excel。 IronXL 是一個獨立的 .NET 程式庫,無需 Microsoft Office 或Microsoft.Office.Interop.Excel ,即可讀取、編輯 Excel 檔案並匯出為 CSV 檔案。

如何在 Visual Studio 專案中安裝 IronXL?

您可以使用 NuGet 套件管理器控制台在 Visual Studio 專案中安裝 IronXL。執行指令Install-Package IronXL -Version 2023.8.29將 IronXL 加入您的專案。

在 C# 中使用 IronXL 處理 Excel 任務有哪些好處?

IronXL 提供了一套強大的功能,用於在 C# 中處理 Excel 任務,例如讀取、編輯 Excel 電子表格以及將其匯出為 CSV 檔案。它支援各種 .NET 框架和作業系統,無需外部程式庫即可靈活應用於不同的環境。

IronXL 能否處理 Excel 檔案中的計算和資料操作?

是的,IronXL 可以處理 Excel 檔案中的計算、排序、合併和管理不同的資料類型,為 Excel 相關任務提供全面的解決方案。

IronXL 支援哪些平台進行 Excel 整合?

IronXL 支援多個平台,包括 .NET Core、.NET Framework、Xamarin、Linux、macOS、Azure 和 Windows,因此可在各種系統中靈活部署。

IronXL可以讀取和寫入哪些文件格式?

IronXL 可以讀取和寫入各種 Excel 檔案格式,包括 XLSX、CSV、XLS、XLST、TSV、XLSM 等,從而實現無縫的資料整合和匯出。

IronXL有試用版嗎?

是的,IronXL 提供免費試用版,讓您在購買完整授權之前可以探索其功能和功能。

如何使用 C# 將資料數組轉換為 CSV 檔案?

使用 IronXL,您可以將資料數組轉換為 Excel 工作表,然後使用SaveAsCsv方法將其匯出為 CSV 文件,從而使資料轉換變得簡單且有效率。

喬迪·巴迪亞
軟體工程師
喬迪精通Python、C#和C++,除了在Iron Software運用這些技能外,他還從事遊戲程式設計。他參與產品測試、產品開發和研究等工作,為產品的持續改進做出了巨大貢獻。豐富的經驗讓他始終保持挑戰性和工作熱情,他表示這是他最喜歡在Iron Software工作的原因之一。喬迪在佛羅裡達州邁阿密長大,畢業於佛羅裡達大學,主修電腦科學和統計學。