跳過到頁腳內容
使用 IRONXL

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

在 C# 中自動化 Microsoft Excel 工作表允許開發人員利用程式設計的力量自動生成、編輯和管理 Microsoft Excel 文件,與 Microsoft Excel 對象模型交互。 通過使用 Microsoft.Office.Interop.Excel 或第三方解決方案來自動化任何無人值守的非交互式客戶端程序以運行 Microsoft Office 應用程序,C# 開發人員可以執行廣泛的活動,包括讀寫/添加數據、格式化單元格、創建圖表、製作報告和自動化与 Microsoft Office Excel 相關的任務。

在 C#、Visual Basic 或 Microsoft Visual C++ 中自動化 Microsoft Excel 的新工作簿對象為簡單且精確地管理和處理 Excel 工作表數據提供了一個穩定且可伸縮的框架。 它允許開發人員設計 Microsoft Office 應用程序,無縫整合 Excel 對象模型函數,執行數據驅動的過程,並生成動態報告。 在本文中,我們將探索 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 開始),以滿足各種文件格式需求。
  • 使用性: 該庫通過提供一個易於理解的 API 及明確的屬性和方法,簡化了 Excel 相關的任務,使得不同專業水平的開發人員都能輕鬆使用。
  • 數據導出和提取: IronXL 提供能力可將 Excel 數據導出為多種格式,並從 Excel 文件中提取數據,以便與數據庫或其他系統無縫交互。
  • 文檔和支持: 為幫助開發人員使用 IronXL 庫來進行 Excel 相關活動,公司提供了廣泛的文檔、教程和支持。
  • 自動化和效率: IronXL 通過自動化 Excel 任務提高了生產力,減少了手動勞動,並有助於創建數據驅動的應用程序。
  • 集成與定制化: 提供將 Excel 數據導出到多種格式的選項,並有助於製作定制化報告或數據驅動解決方案。 它還可與數據庫及其他系統良好集成。

IronXL 在包括金融、數據分析、報告、商業智能和軟件開發等多個領域中被廣泛使用。 它使開發人員能夠通過程式操控 Excel 文件並創建可靠的解決方案,這些解決方案整合了數據操作和 Excel 集成。 請參閱 這裡 獲取更多信息。

在 Visual Studio 中創建新專案

單擊 Visual Studio 菜單中的 "File" 以啟動應用程序。 選擇 "New project",然後選擇 "Window Forms App"。

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

選擇文件位置後,在指定的文本字段中輸入項目文件名。 隨後,選擇所需的 .NET Framework 並如以下示例中所示,單擊 "Create" 按鈕。

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

然後,Visual Studio 項目結構將取決於所選的應用程序類型。 您可以通過 Console、Windows 或網絡應用程序構建或運行應用程序來添加代碼。 您可以在 Program.cs 文件中添加輸入邏輯。

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

然後可以添加庫並測試代碼.

安裝 IronXL 庫

要使用 IronXL 庫,打開 NuGet Package Manager Console,然後鍵入以下命令以安裝它:

Install-Package IronXL.Excel

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

另一個選擇是在 NuGet Package Manager 中搜索 "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. 設置單元值: 將單元格 A1B1 分別賦值為 "Hello" 和 "World"。
  4. 保存工作簿: 使用 SaveAs(filePath) 將工作簿保存到指定的文件路徑。

其他操作

  • 數據操作: 利用不同的數據操作技術,比如過濾、排序和合併單元格。
  • 圖形和圖表: 使用 Excel 數據創建圖形和圖表。
  • 數據集成與導出: 將 Excel 數據與數據庫集成,並將其導出到多種格式。

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

開發人員可以使用 IronXL 的廣泛功能集合,在 C# 中通過程式自動化 Excel 流程,修改數據,格式化單元格,並執行多種其他操作。 調整這些操作以滿足您特定用例的需求。 IronXL 通過處理異常並確保適當的資源管理來提供可靠的 Excel 自動化。 要了解更多關於代碼的信息,請參考 這裡

結論

許多行業,包括金融、數據研究、報告和軟件開發,廣泛使用 IronXL、Excel 對象庫。 對於尋求優化 Excel 相關活動的公司和開發人員來說,它是一個重要工具,促進創建動態的數據中心應用程序,這些應用程序程式化且高效處理 Excel 文件。

總之,IronXL 簡化了 C# 中的 Excel 自動化,並為程式管理 Excel 文件、實現高效數據處理並提高 .NET 應用生產力提供了可靠且功能豐富的解決方案。 IronXL 可供應具有非商業用途限制的免費社群版。 付費版本提供更好的功能、支持和全功能,Lite License 起價,通過訂閱或永久許可的許可模式可用。 欲了解最新和全面的許可細節,請訪問 IronXL 的官網網站。 如需進一步了解 Iron Software 產品,請轉至 這裡

常見問題解答

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

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

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

IronXL 提供了簡單易用的 API 簡化了 Excel 自動化任務,比如數據處理、文件創建和編輯,並支援 XLS 和 XLSX 格式,消除了對 Interop 的需求,提供了一種流暢而高效的 Excel 自動化方法。

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

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

如何在 Visual Studio 項目中開始使用 IronXL?

要在 Visual Studio 項目中開始使用 IronXL,您需要通過 NuGet 安裝 IronXL 程式包,創建一個新的項目,然後使用 IronXL 的 API 與 Excel 文件交互。該庫提供了豐富的文檔和示例來幫助您完成過程。

IronXL 是否適合跨平台開發?

是的,IronXL 適合跨平台開發。它兼容 .NET Core,使您可以開發能夠在各種操作系統上運行的應用程序,包括 Windows、macOS 和 Linux。

IronXL 可用的不同授權選項是什麼?

IronXL 提供適合非商業用途的免費社區版,但有一些限制。對於商業用途,有起價 $749 的付費版本,這些版本提供附加功能和支持,可通過訂閱或永久授權獲得。

IronXL 如何處理 Excel 文件格式?

IronXL 支援舊版本的 XLS 格式和現代的 XLSX 格式,允許開發人員無縫地處理不同版本的 Excel 文件。這確保了與廣泛的 Excel 文檔的兼容性。

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

財務、數據分析、商業智能和軟件開發等行業可以從使用 IronXL 進行高效的 Excel 自動化中受益,促進動態數據驅動的應用程序開發並優化與 Excel 相關的活動。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。