跳過到頁腳內容
使用 IRONXL

C# 程式化地開啟 Excel 文件(代碼範例教程)

我們都知道Excel電子表格已經存在很久了。它主要用於計算和繪製數據圖表,因此非常適合創建財務模型、分析各種廣告活動的成本效益以及許多其他類型的分析。

雖然建立 Excel 檔案應該是一個簡單的過程,但由於涉及的行數和列數較多,因此透過程式設計方式建立 Excel 檔案可能會很困難。 使用 Excel 可以快速完成許多任務,例如選擇或排序資料。 但是,當需要從頭開始建立一個新的電子表格時,就沒有簡單的方法可以做到這一點。 以程式設計方式建立 XLSX 檔案需要編寫很多行程式碼,這很快就會變得非常複雜。

Excel 檔案透過程式設計方式建立起來比較困難,因為在使用之前需要先設定資料和公式。 電子表格中儲存的資料類型會顯著影響建立 Excel 檔案的難度。如果需要建立包含大量資料的 Excel 文件,您可能會發現它比列數和行數較少的文件要複雜得多。 其次,電子表格的格式也可能使建立 Excel 檔案變得困難。 例如,假設您希望電子表格中的欄位始終保持對齊。 在這種情況下,產生新的電子表格會比平常更複雜,因為您需要根據表格中的其他欄位來計算每一列應該在哪裡,以及應該有多少行。

所以,我們想出了一個解決方案。 我們將展示使用 IronXL C# 庫建立和讀取 Excel 檔案是多麼容易。

IronXL:C# Excel 函式庫

IronXL 是一個 C# Excel 庫,可協助您建立更強大的電子表格。 使用 IronXL,電子表格中的行數和列數沒有限制。 您可以根據需要添加任意數量的行和列,而無需添加複雜的公式來計算列寬。

IronXL 可以建立包含數百萬行和數千列的工作簿,如果沒有複雜的計算或使用任何其他電子表格軟體,這是不可能實現的。 使用 IronXL,電子表格中的行數或列數沒有限制,讓您在單一工作表上設計非常高維的模型。 IronXL 是一個功能齊全的函式庫,可以完成所有 Excel 處理流程。 它具備完整的功能,可以用 C# 建立和讀取 Excel 檔案。

IronXL 透過為用戶提供強大的功能,簡化了數位處理和數據分析流程,使用戶能夠輕鬆處理數據。 我們也不需要在我們的電腦上安裝微軟Office。

以下部分將介紹如何使用該程式庫在 C# 中讀取和寫入 Excel 檔案。

建立一個 C# .NET 項目

在 Microsoft Visual Studio 中建立一個新的 C# 控制台專案。 我使用的是 Visual Studio 2022 版本。 您可以使用任何版本,但建議使用最新版本。 建立專案時,建議選擇 .NET Framework 3.0 或更高版本。 你可以給你的專案取任何名字。 您也可以根據需要建立 GUI 專案。 IronXL 支援 .NET Framework 的所有範本格式。 項目完成後,下一步是安裝 IronXL 庫。

安裝 IronXL 庫

現在是時候安裝 IronXL 庫了。 您必須按照以下步驟進行安裝。 我們將使用 NuGet 套件管理器安裝該庫。

從主選單列中選擇"工具"選項。 將滑鼠懸停在NuGet 套件管理器上,然後從下拉式選單中選擇"管理解決方案的 NuGet 套件..."選項。

! C# 以程式設計方式開啟 Excel 檔案(程式碼範例教學),圖 1:在 Visual Studio 中導覽至 NuGet 套件管理器 在 Visual Studio 中導覽至 NuGet 套件管理器

這將開啟 NuGet 套件管理器標籤。 前往瀏覽選項卡並蒐索 IronXL。 從搜尋結果中選擇 IronXL。

! C# 以程式設計方式開啟 Excel 檔案(程式碼範例教學),圖 2:在 NuGet 套件管理器中搜尋 IronXL 在 NuGet 套件管理器中搜尋 IronXL

安裝所選庫。 您將在解決方案資源管理器中看到 IronXL 庫依賴項。

! C# 以程式設計方式開啟 Excel 檔案(程式碼範例教學),圖 3:IronXL 套件已新增至專案中 IronXL 套件已新增至專案中

現在我們可以在專案中使用這個庫了。 接下來,我們開啟program.cs文件,編寫建立 Excel 文件的程式碼。

建立 Excel 檔案的程式碼

以下是使用 IronXL C# 函式庫以程式設計方式建立 Excel 檔案的程式碼。

using IronXL;

// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Create a new worksheet named "example_sheet"
var sheet = workbook.CreateWorkSheet("example_sheet");

// Set value of a single cell
sheet["A1"].Value = "Example";

// Set value to multiple cells in a range
sheet["A2:A4"].Value = 5;

// Change background color of a cell
sheet["A5"].Style.SetBackgroundColor("#f0f0f0");

// Set style (bold font) to multiple cells in a range
sheet["A5:A6"].Style.Font.Bold = true;

// Set formula for cell A6
sheet["A6"].Value = "=SUM(A2:A4)";

// Verify if the value in A6 is the sum of the range A2:A4
if (sheet["A6"].IntValue == sheet["A2:A4"].IntValue)
{
    Console.WriteLine("Basic test passed");
}

// Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx");
using IronXL;

// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

// Create a new worksheet named "example_sheet"
var sheet = workbook.CreateWorkSheet("example_sheet");

// Set value of a single cell
sheet["A1"].Value = "Example";

// Set value to multiple cells in a range
sheet["A2:A4"].Value = 5;

// Change background color of a cell
sheet["A5"].Style.SetBackgroundColor("#f0f0f0");

// Set style (bold font) to multiple cells in a range
sheet["A5:A6"].Style.Font.Bold = true;

// Set formula for cell A6
sheet["A6"].Value = "=SUM(A2:A4)";

// Verify if the value in A6 is the sum of the range A2:A4
if (sheet["A6"].IntValue == sheet["A2:A4"].IntValue)
{
    Console.WriteLine("Basic test passed");
}

// Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx");
Imports IronXL

' Create a new Excel workbook in XLSX format
Private workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

' Create a new worksheet named "example_sheet"
Private sheet = workbook.CreateWorkSheet("example_sheet")

' Set value of a single cell
Private sheet("A1").Value = "Example"

' Set value to multiple cells in a range
Private sheet("A2:A4").Value = 5

' Change background color of a cell
sheet("A5").Style.SetBackgroundColor("#f0f0f0")

' Set style (bold font) to multiple cells in a range
sheet("A5:A6").Style.Font.Bold = True

' Set formula for cell A6
sheet("A6").Value = "=SUM(A2:A4)"

' Verify if the value in A6 is the sum of the range A2:A4
If sheet("A6").IntValue = sheet("A2:A4").IntValue Then
	Console.WriteLine("Basic test passed")
End If

' Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx")
$vbLabelText   $csharpLabel

在以下程式碼中,我們在程式頂部導入 IronXL 庫。 接著我們初始化一個WorkBook對象,建立一個新的 XLSX 格式的 Excel 工作簿。 接下來,我們使用CreateWorkSheet方法在WorkBook中建立一個WorkSheet ,並將工作表的名稱作為參數提供。 透過這種方式可以建立多個工作表。 現在,我們的 Excel 工作簿和工作表都可以使用了。

接下來,我們將資料輸入到 Excel 工作表的儲存格中。 可以透過單元格名稱存取單元格,"Value"屬性用於存取或設定單元格值。 可以為特定儲存格或儲存格區域設定樣式,例如字體大小和樣式。 也可以為單一單元格或單元格區域定義公式。 最後,我們將 Excel 檔案儲存為"example_workbook.xlsx",該檔案將會儲存到專案的偵錯資料夾中。

輸出

這裡可以看到所創建程式的輸出結果。

! C# 以程式設計方式開啟 Excel 檔案(程式碼範例教學),圖 4:結果檔案顯示在 Microsoft Excel 中 結果文件顯示在 Microsoft Excel 中

結論

我們可以使用 C# 來建立、讀取和修改現有的 Microsoft Excel 檔案或 XLSX 檔案。 IronXL 也為 Microsoft Excel 檔案提供了許多其他功能。 您可以在我們的教學頁面中了解這些功能。 IronXL 是使用 Excel 的完整軟體包。 IronXL 還提供一系列功能,可與 Excel 工作簿、工作表和儲存格層級進行交互,例如在常用格式之間進行轉換儲存格資料格式設定插入數學函數,甚至管理圖表。

IronXL 完全免費用於開發。 在開發階段,您可以免費使用它,但需要添加 IronXL 浮水印。 IronXL 還提供生產環境的免費試用金鑰,讓您可以完全免費試用 30 天。 IronXL 提供價格合理的套餐方案,您可以根據自己的需求選擇合適的等級。

! C# 以程式設計方式開啟 Excel 檔案(程式碼範例教學),圖 5:IronXL 定價方案 IronXL定價方案

更重要的是——Iron Software 目前以兩套軟體的價格為您提供五套軟體。

常見問題解答

如何以 C# 程式化方式開啟 Excel 檔案?

若要以 C# 程式化方式開啟 Excel 檔案,您可以使用 IronXL.Excel 函式庫。首先,透過 Visual Studio 中的 NuGet 套件管理器安裝 IronXL。然後,使用 WorkBook 類來開啟和處理 Excel 檔案,而不需要 Microsoft Office。

使用 IronXL.Excel 處理 Excel 檔案有哪些好處?

IronXL.Excel 透過提供讀取、建立和修改 Excel 檔案的強大功能,簡化了 C# 中的 Excel 檔案操作。它支援大型資料集,並提供格式化、公式計算及匯出至不同格式等功能。

我可以使用 C# 建立具有大型資料集的 Excel 檔案嗎?

是的,IronXL.Excel 允許您建立具有數百萬行和數千列的 Excel 檔案,非常適合以程式化方式處理大型資料集和高維模型。

在 C# 專案中設定 IronXL 應該遵循哪些步驟?

若要在 C# 專案中設定 IronXL,請開啟 Visual Studio,前往工具 > NuGet 套件管理員 > 管理解決方案的 NuGet 套件,搜尋 IronXL,然後安裝。這將會把函式庫整合到您的專案中,以進行 Excel 檔案操作。

如何使用 IronXL.Excel 程式化格式化 Excel 單元格?

使用 IronXL.Excel,您可以透過設定值、樣式和公式,以程式化的方式格式化 Excel 單元格。您可以調整背景顏色、套用不同的字型樣式,並直接在 C# 程式碼中使用 Excel 公式。

使用 C# 處理 Excel 檔案是否需要 Microsoft Office?

不,IronXL 不需要 Microsoft Office 才能以 C# 處理 Excel 檔案。它可獨立運作,讓您無需額外的軟體即可建立、讀取和編輯 Excel 檔案。

如何使用 C# 將 Excel 檔案轉換為其他格式?

IronXL.Excel 可讓您將 Excel 檔案轉換為 CSV 等其他格式。這是利用其匯出功能來實現的,可在不同的試算表檔案類型之間進行無縫轉換。

IronXL 有哪些授權選項?

IronXL 提供免費試用版,供開發用,並附有水印。對於生產用途,則提供 30 天免費試用金鑰,以及各種價格方案,以滿足不同使用者的需求。

哪些 .NET 版本與 IronXL 相容?

IronXL 支援多種 .NET Framework 版本,包括 .NET Framework 3.0 及以上版本。建議您使用最新版本的 Visual Studio,以獲得最佳相容性與效能。

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