跳至頁尾內容
USING IRONXL

.NET Excel 函式庫(開發者教學)

IronXL允許您在C#/.NET中僅需幾行程式碼就能建立、讀取和匯出Excel文件,而不需要安裝Microsoft Office,這對於需要快速Excel整合功能的快速發展中的初創企業來說是完美的。

IronXL是.NET開發中最佳Excel程式庫的原因是什麼?

在這篇文章中,我們將探討IronXL,一個Excel程式庫,它簡化了在.NET中以程式化方式處理Microsoft Excel文件的過程。 我們將建立一個Excel試算表環境來讀取Excel工作表寫入Excel表格,並將試算表文件匯出為CSV

為何選擇IronXL而非Microsoft.Office.Interop?

使用C# IronXL .NET Excel程式庫可以讀取並轉換為CSV文件。 IronXL 是一個獨立的.NET軟體程式庫,不需要安裝Microsoft Office、Microsoft.Office.Interop.Excel或Excel Interop。 它可以讀取多種試算表格式,不僅僅是一個靜態程式庫。

IronXL的簡單C# API使您能夠輕鬆讀取多個工作表修改,並在.NET環境中生成Excel試算表。 It fully supports Xamarin, Linux, macOS, Azure, .NET Core applications, and .NET Framework.

對於需要快速部署的初創企業創始人而言,IronXL消除了開發和生產伺服器上對於Microsoft Office安裝的依賴,大大降低了基礎設施複雜性和授權費用。 程式庫的跨平台支援可確保您的Excel處理能力無縫運作,不論您是部署到Linux容器、Azure Functions或傳統的Windows伺服器。

IronXL支援哪些平台和格式?

廣泛的格式支援意味著您可以輕鬆地在不同試算表文件型別之間轉換,無論是從客戶端上傳中匯入Excel資料,或是為不同利益相關者匯出為不同格式

如何設置.NET專案以使用IronXL?

接下來的部分將向您展示如何用IronXL程式庫輕鬆建立和讀取Excel文件。

建立新控制台專案的步驟是什麼?

步驟1:啟動一個新專案以建立Excel文件。

啟動Visual Studio後,從 '檔案' 選單中選擇 '新專案'。

在彈出對話框中,選擇 'Console App' .NET 專案模板,然後點擊 '下一步'。

Visual Studio '新增新專案' 對話框顯示包括Console App、ASP.NET Core Web App、Blazor Server App和ASP.NET Core Web API在內的各種.NET 專案模板,Excel程式庫教程中高亮顯示了Console App 新專案

一旦您在位置欄位中輸入了新專案的位置,就可以輸入您選擇的任何專案名稱。 點擊 下一步 按鈕繼續。

Visual Studio 新專案配置介面顯示Console App模板選擇,包含C#、跨平台操作系統選項(Linux、macOS、Windows)以及供Excel程式庫開發輸入專案名稱和位置的欄位 專案配置

我應該選擇哪個.NET Framework版本?

使用Framework下拉選項選擇一個.NET Framework。 在這裡,我們使用.NET 6.0,這是長期支援版本。 然後按下建立。

Visual Studio 專案配置窗口顯示Console App設置,選擇了.NET 6.0 LTS框架和平台選項,包括C#、Linux、macOS、Windows和Console,用於Excel程式庫開發 框架選擇

對於初創環境,選擇.NET 6.0 LTS可確保長期穩定性和支援,減少在關鍵增長階段進行框架升級的必要性。 此版本還提供了卓越的性能改進,並完全相容Docker部署Azure Functions

如何通過NuGet Package Manager安裝IronXL?

獲取IronXL程式庫,這是以下解決方案所需的。 為此,請在NuGet Package Manager Console輸入以下命令:

Install-Package IronXL.Excel

 related to 如何通過NuGet Package Manager安裝IronXL? IronXL安裝

另一個選項是使用NuGet Package Manager搜索包" IronXL "。 然後,從與IronXL相關的所有NuGet包列表中選擇所需的包下載。

NuGet Package Manager窗口顯示IronXL.Excel包,版本2023.4.13準備安裝,顯示386K下載,並且高亮顯示Install按鈕以便於Excel程式庫的整合 NuGet套件管理器

安裝過程簡單,可以在不到一分鐘內完成。 對於使用CI/CD管道的團隊,IronXL可以輕鬆整合到自動化構建中。 查看授權頁面以獲取適合初創企業的定價選項,以及在部署管道中如何應用授權金鑰

如何在C#中使用IronXL建立Excel文件?

使用IronXL,您可以僅需幾行程式碼就能建立新的Excel文件! IronXL可以建立XLS(舊的Excel格式)和XLSX(當前格式)格式的文件,如以下範例程式碼所示。

生成新的Excel工作簿的最小程式碼是什麼?

using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
Imports IronXL

Public Class IronXLExample
	Public Shared Sub Main(ByVal args() As String)
		' Create a new workbook
		Dim workbook As WorkBook = WorkBook.Create()

		' Create a new worksheet named "Sheet1"
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")

		' Set the value of cell A1
		worksheet("A1").Value = "test"

		' Save the workbook to a file
		workbook.SaveAs("sample1.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

上述程式碼演示瞭如何使用IronXL包建立新的Excel工作簿和工作表。 CreateWorkSheet("Sheet1")函式建立一個具有指定名稱的工作表標籤。 使用SaveAs方法將更改保存在指定位置。

對於更複雜的場景,您可以新增多個工作表應用單元格格式設置單元格資料格式,甚至可以程式化地建立Excel圖表

// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
' Create a workbook with multiple sheets and formatting
Dim workbook As WorkBook = WorkBook.Create()
Dim salesSheet As WorkSheet = workbook.CreateWorkSheet("Sales")
Dim revenueSheet As WorkSheet = workbook.CreateWorkSheet("Revenue")

' Add headers with formatting
salesSheet("A1").Value = "Product"
salesSheet("B1").Value = "Quantity"
salesSheet("C1").Value = "Revenue"

' Apply bold formatting to headers
salesSheet("A1:C1").Style.Font.Bold = True

' Add data with number formatting
salesSheet("A2").Value = "Widget A"
salesSheet("B2").Value = 150
salesSheet("C2").Value = 4500.0
salesSheet("C2").FormatString = "$#,##0.00" ' Currency format

' Auto-size columns for better readability
salesSheet.AutoSizeColumn(0)
salesSheet.AutoSizeColumn(1)
salesSheet.AutoSizeColumn(2)

workbook.SaveAs("sales_report.xlsx")
$vbLabelText   $csharpLabel

Microsoft Excel介面顯示程式生成的工作簿,A1單元格中輸入了'test',演示了使用IronXL .NET程式庫建立基本Excel文件 Excel輸出

我在哪裡可以找到更多建立Excel文件的範例?

要瞭解更多有關建立Excel文件的資訊,請查看此在.NET中建立文件的教程。 您還可以探究如何在C#中不使用Interop來處理Excel,以及程式化地建立Excel圖表

如何讀取Excel資料並匯出到不同格式?

將資料匯出為XLSX或XLS格式只需要幾行程式碼。 以下是可以用於將資料從Excel文件匯出到簡單表格格式的源程式碼:

我需要什麼程式碼來載入和修改現有的Excel文件?

using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
Imports IronXL

Public Class ExcelReadExportExample
	Public Shared Sub Main(ByVal args() As String)
		' Load an existing Excel file
		Dim workbook = WorkBook.LoadExcel("Demo file.xlsx")

		' Get a worksheet from the workbook
		Dim workSheet As WorkSheet = workbook.GetWorkSheet("Sheet1")

		' Read the value of cell A1
		Dim addressVal As String = workSheet("A1").ToString()
		Console.WriteLine(addressVal)

		' Modify the value of cell A2
		workSheet("A2").Value = "test"

		' Save the workbook in multiple formats
		workbook.SaveAs("export.xlsx")
		' Or save as XLS
		workbook.SaveAs("export.xls")
		' Or save the specific worksheet as an XLS file
		workbook.WorkSheets(0).SaveAs("export.xls")
	End Sub
End Class
$vbLabelText   $csharpLabel

如何按名稱或索引存取工作表?

在前面的範例中,使用LoadExcel方法載入了一個現有的Excel文件,該方法以文件名和路徑作為參數。 然後將文件導入到WorkBook物件中。 通過指定工作表名稱來使用GetWorkSheet功能載入工作表。 可以透過指定地址來讀取單元格的值。 此程式碼也演示了如何使用SaveAs方法修改工作表值並以不同文件格式儲存工作簿。

IronXL提供了靈活的方法來選取範圍讀取CSV文件,以及處理各種資料結構。 以下是展示不同方法存取和操作Excel資料的擴展範例:

// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
' Load workbook from various sources
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")

' Access worksheets in multiple ways
Dim sheet1 As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheet2 As WorkSheet = workbook.GetWorkSheet("Sheet2") ' By name

' Read data from ranges
Dim range = sheet1("A1:C10")
For Each cell In range
    Console.WriteLine($"{cell.Address}: {cell.Value}")
Next

' Convert to DataTable for easier processing
Dim dataTable As DataTable = sheet1.ToDataTable(True)

' Export to various formats
workbook.SaveAs("output.csv") ' CSV format
workbook.SaveAsJson("output.json") ' JSON format
workbook.SaveAsXml("output.xml") ' XML format
$vbLabelText   $csharpLabel

控制台窗口顯示使用IronXL .NET程式庫範例程式碼讀取Excel單元格資料的成功輸出 'test' 控制台輸出

Excel文件可用的匯出選項有哪些?

可以通過名稱或索引值匯出Excel試算表資料到單獨的文件。IronXL支援匯出到多種格式,包括CSVJSON、XMLHTML。 您還可以匯出到DataSet和DataTable,以便與您的.NET資料處理管道無縫整合。

對於需要與各種系統整合的初創團隊,IronXL的匯出能力能夠快速進行資料交換。 您可以從SQL資料庫載入Excel從Excel更新資料庫記錄,或透過DataTable處理Excel資料,以進行快速的原型設計和MVP開發。

使用IronXL的下一步是什麼?

從建立新文件到進行準確的計算,IronXL都能滿足您所有的Excel專案需求。 今天,我們探索了IronXL如何可以建立、讀取和匯出Excel文件,並且只需幾行程式碼,您就能完全掌控這些過程。

IronXL提供哪些進階功能?

對於每個涉及Microsoft Excel文件的程式化任務,IronXL提供了一個全面的解決方案。 您可以執行公式計算排序字串或數字、剪切和新增資料、搜尋和替換、合併和取消合併單元格視覺化資料,以及儲存文件。 您還可以設置單元格資料型別和驗證試算表資料。 讀取和寫入CSV文件的能力使得與Excel資料的交互成為可能。

其他進階功能包括:

初創團隊的定價模式是什麼?

IronXL推出時的費用為$999,但客戶可以選擇支付一年的會費以獲得改進和產品支援。 IronXL另外徵收一個允許無限制再分發的安全費用。 存取此授權頁面了解更多定價細節。

對於初創企業,IronXL提供開發者授權,允許您在沒有限制的情況下評估程式庫。 授權模式透明,沒有隱藏費用,您可以從一個開發者授權開始,並在團隊壯大時升級。 查看疑難排解指南,以瞭解如何在不同的部署情境中應用授權。

無論您是在打造Blazor應用程式,部署到AWS Lambda,使用.NET MAUI,或是建立ASP.NET web應用程式,IronXL提供了所需的靈活性和性能,可快速交付您的Excel功能,而不需忍受Microsoft Office的依賴。

常見問題

如何在 .NET 中建立和讀取 Excel 文件而不使用 Interop?

using IronXL,您可以輕鬆地在 .NET 中建立和讀取 Excel 文件,而無需依賴 Microsoft Office Interop。您可以使用 WorkBook.Create() 方法建立新的 Excel 文件,並使用 LoadExcel 讀取現有的文件。

使用獨立 .NET Excel 程式庫有哪些好處?

像 IronXL 這樣的獨立 .NET Excel 程式庫具有無需 Microsoft Office 或 Interop 安裝的優勢。它允許在不同平台上無縫讀取、寫入和匯出 Excel 文件,例如 Windows, macOS 和 Linux。

如何程式化地將 Excel 文件轉換為 CSV 格式?

IronXL 提供功能以輕鬆將 Excel 文件轉換為 CSV 格式。使用 SaveAs 方法將您的 Excel 工作簿匯出為 CSV 文件格式。

哪些平台與 IronXL 相容以操作 Excel 文件?

IronXL 與多個平台相容,包括 Xamarin, Linux, macOS, Azure, .NET Core 和 .NET Framework,為在不同環境中工作的開發者提供了彈性。

using IronXL 可在 Excel 欄位中處理哪些型別的資料?

IronXL 支援多種資料型別,包括文字、整數、日期、貨幣、公式和百分比,從而在試算表中實現多樣的資料處理。

如何使用 .NET 程式庫在 Excel 試算表中執行計算?

using IronXL,您可以通過程式化地利用公式在 Excel 試算表中執行計算。這使您能夠在 Excel 文件中自動執行複雜的計算和資料處理任務。

是否可以使用 .NET 程式庫在一個 Excel 文件中處理多個工作表?

是的,IronXL 允許您在一個 Excel 文件中處理多個工作表。您可以輕鬆地透過其 API 存取、修改和匯出不同工作表之間的資料。

如何在 .NET Core 專案中設置 IronXL?

要在 .NET Core 專案中設置 IronXL,您可以透過 NuGet 套件管理器安裝它。使用套件管理器主控台中的命令 Install-Package IronXL.Excel,或者通過 Visual Studio 中的 NuGet 套件管理器新增它。

IronXL 的授權和定價選項有哪些?

IronXL 提供各種授權選項,包括為改進和支援收取一年的會員費。為安全功能和無限制的再分發權可能會產生額外費用。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話