在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
您是否曾經在處理重要任務時,嘗試解析 CSV 文件並將其轉換為 XLSX,或者將 XLSX 文件轉換為 CSV 文件,但在 .NET 中無法找到不用寫大量代碼的方法?
許多 CSV 庫存在以解決此問題。然而, IronXL 在本博客中,我們將使用 C# Excel Library 來執行這些任務,只需兩行代碼。
要開始,只需使用 Visual Studio,並按照以下詳細安裝說明進行操作。
打開 Visual Studio 編輯器。
在 Visual Studio 中進入「文件」菜單。選擇「新專案」,然後選擇「控制台應用程式」。
輸入專案名稱並選擇專案位置。然後,點擊 創建 按鈕來創建專案。選擇所需的 .NET Framework,如下圖所示:
創建一個新的 C#. NET 控制台應用程式
program.cs
文件將打開,讓您可以輸入邏輯並創建/運行應用程式。
可以使用多種不同的方法下載並安裝 IronXL 程式庫。今天我們將專注於其中的兩種方法:
NuGet 套件管理員 UI 可在 Visual Studio 中使用,以便將套件直接安裝到專案中。以下截圖顯示如何開啟它。
使用 Visual Studio NuGet 套件管理器 GUI 安裝 IronXL
套件管理器 UI 提供了一個瀏覽功能,顯示在 NuGet 網站上提供的套件庫列表。輸入關鍵字 "IronXL",如下圖所示,即可找到 IronXL 套件。
在 NuGet 套件管理器的瀏覽部分搜尋 IronXL 庫。
選擇 IronXL.Excel
套件,然後點擊 Install 按鈕將其添加到項目中。
在 Visual Studio 的菜單中,依次選擇 工具 > NuGet 套件管理員 > 點擊 套件管理員主控台。
在 Visual Studio 中,從工具選單存取 NuGet 封裝管理器主控台
封裝管理器主控台將出現在螢幕的底部。只需輸入以下指令然後按下 Enter,IronXL 就會被安裝。
Install-Package IronXL.Excel
透過命令行安裝IronXL庫
手動解析CSV需要編寫大量精確的代碼來完成工作,但使用IronXL,只需要幾行代碼。
通過使用傳統的C#代碼來解析CSV格式的文件,您將需要使用大量冗長的代碼。這是一個實現此功能的代碼示例。
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string [] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string [] args)
{
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Imports FileHelpers
Imports System
Namespace parse_csv
<DelimitedRecord(",")>
Public Class Record
Public Name As String
Public Age As String
End Class
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim fileHelperEngine As New FileHelperEngine(Of Record)()
Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")
For Each record In records
Console.WriteLine(record.Name)
Console.WriteLine(record.Age)
Next record
End Sub
End Class
End Namespace
但是使用IronXL,這只需要幾行代碼即可完成。
使用IronXL,您可以從XLSX、XLS、TSV等文件中解析CSV文件。在本教程中,我們將探討以下轉換:
從XLSX文件解析CSV文件
從XLS文件解析CSV文件
打開 Microsoft Excel 並創建一個新的 XLSX 文件。用一些模擬數據填充它的行和列。以下圖片顯示了本教程中所有轉換所使用的文件。
範例 Excel 數據
一旦您準備好文件,請撰寫以下示例代碼並執行程式。
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;
WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
執行完成後,將會創建一個名為 Parsed CSV.csv 的新檔案。可以使用任何你喜歡的編輯器或讀取器來讀取 CSV 檔案。下圖顯示了上述指令的輸出結果——我們生成的 CSV 數據。在輸出檔案中,雙引號代表 加粗 值。
調用 WorkBook.SaveAsCsv 方法處理樣本 Excel 工作簿的結果
在這個範例中,我們將看到如何將 XLS 文件轉換為 CSV 格式。
首先,讓我們創建一個可以轉換為 CSV 格式的範例 XLS 文件。
範例 XLS 文件
接下來,我們將執行以下代碼塊,將範例 XLS 文件轉換為 CSV 文件。
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;
WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
在執行上述代碼後,您將會有一個新生成的CSV文件。
使用上述程式碼儲存後的結果 CSV 檔案
試算表應用程式經常使用TSV檔案,或制表符分隔值檔案,以在數據庫之間傳輸數據。它保存一個資料表,使用制表符來分隔資料列,並且每條記錄都在不同的行上。
IronXL 提供了一個CSV解析器,以便從TSV格式解析CSV文件,以便更好地管理數據。
讓我們從範例開始。
一個範例TSV電子表格
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;
WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL
Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
以下是 CSV 格式的輸出。
輸出 CSV 檔案
本教程使用IronXL將各種文件格式解析為C#中的CSV格式。
此外,IronXL庫還提供以下功能:
購買完整的 Iron Suite 以兩個IronXL庫許可證的價格檢索所有五個Iron Software庫的許可證!
感謝您的閱讀!