如何在 C# 中導出文件到 CSV
本文將對比和比較各種方法,說明 .NET 技術如何透過編程接口與 Microsoft Excel 文件進行互動,並使用最著名的程式庫之一,IronXL。 此外,它將建立一個設置來寫入、讀取和導出 Excel 試算表到 CSV 文件。
1.1 什麼是 .NET Framework?
Microsoft 建立了專有的 .NET Framework,這是一個大多數與 Microsoft Windows 相容的軟體架構。 在跨平台 .NET 專案替代之前,它一直是主要的通用語言基礎架構 (CLI) 實現。 它提供跨多種不同程式語言的語言相容性,並附帶一個龐大的類庫,稱為框架類庫 (FCL)。
1.2 什麼是 CSV?
一種名為"逗號分隔值"的文字文件格式,透過逗號將值分隔為獨立的列。 表格資料以純文字形式儲存在 CSV 格式的文件中,其中每行通常對應一個資料記錄。 在 CSV 文件中,每個記錄具有相同數量的字段,這些字段由逗號分隔。
2.0 IronXL 程式庫特徵
using 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 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 中建立新專案
在使用 IronXL 程式庫之前,打開 Visual Studio 並建立一個 .NET 專案。 任何版本的 Visual Studio 都可以使用,不過建議使用最新版本。 為了簡化,本文將以控制台應用為範例。
打開 Visual Studio,進入"文件"選單並選擇"新專案"。 從各種 .NET 專案範本中選擇"控制台應用"。
然後輸入專案的位置和名稱。
在Visual Studio中建立新專案
可以使用框架下拉選單來選擇 .NET Framework。 本項目選擇 .NET Framework 4.7。 接下來,點擊建立按鈕。
生成解決方案後,應用程式會打開 program.cs 文件,您可以在其中輸入程式碼並構建/運行程式。
Console Application 專案成功建立後,將打開 Program.cs 文件。
要測試程式碼,下一個步驟是新增 IronXL 程式庫。
安裝 IronXL 程式庫,因為它是下一次修復所需的。 為此,請在 NuGet Package Manager Console 中輸入以下命令:
Install-Package IronXL -Version 2023.8.29
在 NuGet Package Manager Console 中安裝 IronXL 套件
另一個選項是使用 NuGet Package Manager 搜尋"IronXL"套件,然後從與 IronXL 相關的所有 NuGet 套件列表中選擇所需的套件下載。
使用 NuGet Package Manager 安裝 IronXL 套件
4.0 將文件導出為 CSV
IronXL 使得建立到 CSV 文件的字串陣列簡單快捷。 編寫 CSV 文件因而變得更簡單。 首先,如下程式碼截圖所示,包含 IronXL 命名空間。 然後,一旦呈現下述程式碼,就使用 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();
}
}
Imports IronXL
Imports IronXL.Options
Imports System
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Array of student names
Dim students() As String = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" }
' Create a new workbook with an Excel file format of XLS
Dim workBook = WorkBook.Create(ExcelFileFormat.XLS)
' Get the default worksheet (where student data will be written)
Dim workSheet = workBook.DefaultWorkSheet
' Start adding data to worksheet from row 1
Dim rowCount As Integer = 1
For Each 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 += 1
Next student
' Save the workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("Sample.csv", ";")
' Alternately, convert the workbook to a stream
Dim stream = workBook.ToStream()
End Sub
End Class
前述程式碼範例將陣列導出到 Excel 文件。一旦構建陣列,列標題便會被建立。 一旦第一列建立後,行會逐一新增。 WorkBook 物件在資料已新增到陣列字串後即被建立。 您可以使用 WorkBook 物件將資料新增到 Excel 工作表中,然後將其儲存到其他地方。 目標是建立WorkSheet 物件,該物件可以連結到工作簿物件,從而建立工作表。
在將每個項目新增到試算表之前,使用 foreach 迴圈從陣列字串中讀取每個項目。 當所有資料都輸入到工作表中時,使用 SaveAsCsv 方法將資料保存為 CSV 文件。 文件名和位置以及分隔符也可以作為可選參數提供。 該程式庫然後協助將資料寫入新的 CSV 文件。 如果您想閱讀 CSV 文件而不是使用 Microsoft Excel,您可以使用記事本。 IronXL 還支援使用 Save 方法以多種文件格式儲存資料,如 XLS、CSV 和 XLSX。 或者工作簿可以轉化為流,然後將資料寫入所需位置。
輸出 CSV 文件
輸出的Excel文件
上面顯示運行程式碼範例的輸出結果。 截圖中新生成的 Excel 試算表已經將字串陣列中的每個資料項分別新增。
若要了解有關使用 IronXL 將資料導出到 CSV 的更詳細資訊,請參閱此逐步教程。
5.0 結論
最受歡迎的 Excel 擴展之一是 IronXL。 它不依賴於任何其他外部程式庫。 它是自包含的,無需安裝 Microsoft Excel。 它透過多種渠道運作。
IronXL 為所有以程式化方式執行的 Microsoft Excel 文件相關任務提供全方位解決方案。 可以執行計算、排序字串或數字、削減、新增、定位和替換、合併和取消合併、保存文件等操作。 除了檢查試算表資料之外,您還可以定義單元格資料型別。 它允許您讀取和寫入文件,並且使處理 Excel 資料變得更簡單。
IronXL 提供免費試用授權,這使使用者可以免費試用其所有主要功能。
IronXL 可用於 $999 初始階段。 如果使用者希望獲得軟體更新和幫助,他們可以選擇支付一年訂閱費。 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 Package Manager Console在Visual Studio專案中安裝IronXL。運行命令Install-Package IronXL -Version 2023.8.29 以將IronXL新增到您的專案中。
使用IronXL執行C# 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檔案,使資料轉換變得簡單高效。




