跳至頁尾內容
USING IRONXL

C# Excel 自動化(開發者教程)

在C#中自動化Microsoft Excel工作表允許開發者利用程式設計的能力,通過Microsoft Excel物件模型自動生成、編輯和管理Microsoft Excel文件。 C#開發者可以通過使用像Microsoft.Office.Interop.Excel或第三方解決方案這樣的程式庫來自動化任何無需人工介入的客戶端程式,以運行Microsoft Office應用程式,從而進行廣泛的活動,包括讀寫/新增資料、格式化單元格、建立圖表、生成報告,和自動化Microsoft Office Excel相關的任務。

在C#、Visual Basic或Microsoft Visual C++中自動化Microsoft Excel的新工作簿物件爲管理和處理Excel工作表資料提供了一個穩定且可適應的框架,簡單而精確。 它允許開發者設計無縫整合Excel物件模型功能的Microsoft Office應用程式,執行資料驅動的流程,並生成動態報告。 在本文中,我們將探討C#中的Excel自動化。

如何使用C#進行Excel自動化

  1. 建立一個Visual Studio專案。
  2. 安裝IronXL程式庫。
  3. 初始化Excel應用程式物件介面以自動化Microsoft Excel。
  4. 存取工作表並使用物件操作資料。
  5. 保存並關閉工作簿。 同時,釋放資源物件。

IronXL

IronXL是一個強大的.NET程式庫,旨在使在C#、VB.NET和其他.NET語言中處理Excel文件的工作更加簡單。 它支持XLS和XLSX格式。 該程式庫使開發者能夠更快速、更容易地建立、讀取、寫入和操作Excel試算表。 它還提供了廣泛的工具和功能。

IronXL的顯著特點和功能包括:

  • 資料處理: 使用IronXL,在Excel工作簿中讀取、寫入和操作資料變得簡單。 您可以使用二維陣列存取單元格值、新增公式、格式化資料並進行計算。
  • Excel文件建立和編輯: 開發者除了可以建立新Excel文件和編輯現有文件外,還可以新增、刪除和管理工作表。
  • 跨平台相容性: IronXL可以在各種應用程式上下文中使用,並與多個.NET平台相容,例如Xamarin、.NET Core和.NET Framework。
  • 多功能性和相容性: 它相容多個Excel版本,支持較舊的XLS和較新的XLSX Excel格式。
  • 支持舊版和現代版Excel格式: 它通過支持經典的Excel文件格式(XLS,最早可追溯到Excel 97–2003)和較新的基於XML的格式(XLSX,最早可追溯到Excel 2007),滿足各種文件格式需求。
  • 實用性: 該程式庫簡化了Excel相關任務,通過提供易於理解的API和清晰的屬性和方法,使不同專業水平的開發者都能輕鬆使用。
  • 資料導出和提取: IronXL促進了將Excel資料導出到多種格式以及從Excel文件中提取資料,實現與資料庫或其他系統的無縫互動。
  • 文件和支援: 為了幫助開發者使用IronXL的程式庫來進行其Excel相關活動,公司提供了廣泛的文件、教程和支援。
  • 自動化和效率: IronXL通過自動化Excel任務提高生產力,減少手工勞動,並幫助建立資料驅動的應用程式。
  • 整合與定制化: 它提供了從Excel導出資料到多種格式的選項,並促進定制報告或資料驅動解決方案的生成。 它也能很好地與資料庫和其他系統接口。

IronXL被廣泛應用於金融、資料分析、報告、商業智能和軟體開發等各個領域。 它使開發者能夠程式化地處理Excel文件,並建立可靠的解決方案,融合資料操作和Excel整合。 詳情請參考此處

在Visual Studio中建立新專案

在Visual Studio選單中點擊"文件"以啟動應用程式。 選擇"新項目",然後選擇"視窗表單應用程式"。

C# Excel 自動化(開發者教程):圖 1 - 新項目

選擇文件位置後,在指定文字字段中輸入項目文件名。 隨後,選擇所需的 .NET Framework並點擊"建立"按鈕,如下圖所示。

C# Excel 自動化(開發者教程):圖 2 - 項目配置

Visual Studio專案的結構然後將取決於所選的應用程式型別。 您可以使用控制台、Windows或在線應用程式來構建或執行應用程式以新增程式碼。 您可以向Program.cs文件中新增輸入邏輯。

C# Excel 自動化(開發者教程):圖 3 - 框架

然後可以新增程式庫並測試程式碼。

安裝IronXL程式庫

要使用IronXL程式庫,打開NuGet包管理器控制台並鍵入以下命令進行安裝:

Install-Package IronXL.Excel

C# Excel 自動化(開發者教程):圖 4 - 安裝IronXL

另一個選擇是使用NuGet包管理器搜索"IronXL"包。 您可以從與IronXL相關的所有NuGet程式包的列表中選擇哪一個需要下載。

C# Excel 自動化(開發者教程):圖 5 - IronXL.Excel

使用IronXL進行Excel自動化

下面是一個使用IronXL在C#中簡單Excel自動化的範例。 這是一個如何建立新Excel文件、填寫單元格,然後保存工作簿的範例。

using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new Excel workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create a new worksheet in the workbook
        WorkSheet sheet = workbook.CreateWorkSheet("output");

        // Set values in cells
        sheet["A1"].Value = "Hello";
        sheet["B1"].Value = "World";

        // Save the workbook to a specific file path
        string filePath = @"output.xlsx";
        workbook.SaveAs(filePath);

        Console.WriteLine("File created and saved successfully.");
    }
}
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new Excel workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create a new worksheet in the workbook
        WorkSheet sheet = workbook.CreateWorkSheet("output");

        // Set values in cells
        sheet["A1"].Value = "Hello";
        sheet["B1"].Value = "World";

        // Save the workbook to a specific file path
        string filePath = @"output.xlsx";
        workbook.SaveAs(filePath);

        Console.WriteLine("File created and saved successfully.");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new Excel workbook
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Create a new worksheet in the workbook
		Dim sheet As WorkSheet = workbook.CreateWorkSheet("output")

		' Set values in cells
		sheet("A1").Value = "Hello"
		sheet("B1").Value = "World"

		' Save the workbook to a specific file path
		Dim filePath As String = "output.xlsx"
		workbook.SaveAs(filePath)

		Console.WriteLine("File created and saved successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

此程式碼演示了使用IronXL進行Excel自動化的一個簡單範例:

  1. 建立新的Excel工作簿: 使用WorkBook.Create(ExcelFileFormat.XLSX)建立一個新的XLSX格式的Excel工作簿。
  2. 存取工作表: CreateWorkSheet("output")向工作簿新增名為"output"的工作表。
  3. 設置單元格值: 單元格B1分別賦值"Hello"和"World"。
  4. 保存工作簿: 使用SaveAs(filePath)將工作簿保存到指定文件路徑。

附加操作

  • 資料操作: 利用不同的資料操作技術,如過濾、排序和合併單元格。
  • 圖形和圖表: 使用Excel資料建立圖形和圖表。
  • 資料整合和導出: 整合Excel資料與資料庫並將其導出到各種格式。

C# Excel 自動化(開發者教程):圖 6 - 輸出

開發者可以使用IronXL廣泛的Excel文件功能集合,在C#中程式性地自動化Excel過程、修改資料、格式化單元格並執行多種其他操作。 調整這些操作以滿足您特定使用案例的需求。 IronXL通過處理異常並確保適當的資源管理來實現可靠的Excel自動化。 要了解更多程式碼資訊,請參考此處

結論

許多行業,包括金融、資料研究、報告和軟體開發,廣泛使用IronXL、Excel物件程式庫。 這是一個重要的工具,對於那些希望優化Excel相關活動的公司和開發者來說,幫助建立動態、資料中心的應用程式,以程式化的方式和高效地處理Excel文件。

總之,IronXL簡化了C#中的Excel自動化,並為程式化管理Excel文件提供了一個可靠、功能豐富的解決方案,從而實現有效的資料處理並提升.NET應用程式的生產力。 IronXL提供了一個免費的社群版本,對非商業用途有一定限制。 付費版提供了更好的功能、支援和全部能力,起價為$liteLicense,可通過訂閱或永久授權模式購買。 欲獲得最新且全面的授權詳細資訊,請存取IronXL的官方網站。 欲了解Iron Software產品的進一步詳情,請至此處

常見問題

如何不使用Interop在C#中自動化Microsoft Excel的任務?

可以通過使用IronXL程式庫在C#中不使用Interop自動化Microsoft Excel的任務。它允許您直接在C#中建立、讀取和操作Excel文件,無需Microsoft.Office.Interop.Excel,從而使過程更高效。

使用IronXL進行Excel自動化有什麼好處?

IronXL提供了使用者友好的API,簡化了資料處理、文件建立、編輯等Excel自動化任務,並支持XLS和XLSX格式。它消除了對Interop的需求,提供了一種精簡高效的Excel自動化方法。

我可以使用C#在Excel中進行資料操作嗎?

是的,使用IronXL,您可以在Excel中使用C#進行各種資料操作任務。這包括篩選、排序、合併資料以及建立圖表和圖形。

如何在Visual Studio專案中開始使用IronXL?

要在Visual Studio專案中開始使用IronXL,您需要通過NuGet安裝IronXL套件,建立一個新專案,然後使用IronXL的API與Excel文件互動。該程式庫提供詳細的文件和範例助您完成過程。

IronXL適合跨平台開發嗎?

是的,IronXL適合跨平台開發。它與.NET Core相容,讓您能開發在各種操作系統上運行的應用,包括Windows、macOS和Linux。

IronXL有哪些不同的授權選項?

IronXL提供適合非商業用途的免費Community Edition,有一些限制。對於商業用途,起價$749的付費版本提供額外功能和支援,可透過訂閱或永久授權獲得。

IronXL怎麼處理Excel文件格式?

IronXL支持較舊的XLS格式和現代的XLSX格式,使開發者可以無縫工作于不同版本的Excel文件。這確保了與多樣的Excel文件的相容性。

哪些行業能從使用IronXL中受益?

例如金融、資料分析、商業智能和軟體開發等行業能從使用IronXL進行高效的Excel自動化中受益,促進動態資料驅動的應用開發並優化Excel相關活動。

Curtis Chau
技術作家

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

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

Iron 支援團隊

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