C# 程式化地開啟 Excel 文件(程式碼範例教程)
我們都知道Excel電子表格已經存在很長一段時間了。它主要用於計算和繪製資料圖表,使其成為建立財務模型、分析各種廣告活動的成本效益及其他多種分析的理想工具。
雖然這應該是一個簡單的過程,但由於涉及到的行數和列數,使用程式生成Excel文件可能變得困難。 許多任務可以通過Excel快速完成,例如選擇或排序資料。 但是,當您需要從頭開始建立一個新的電子表格時,卻沒有簡單的方法可以做到。 使用程式生成XLSX文件需要很多行程式碼,這很容易變得複雜。
Excel文件之所以更難用程式生成,是因為它們需要在可以使用之前設置資料和公式。 您在電子表格中儲存的不同型別資料會顯著影響建立Excel文件的難度。如果您需要建立包含大量資料的Excel文件,您可能會發現比行和列較少的情況更複雜。 其次,您的電子表格格式也可能使建立Excel文件變得困難。 例如,假設您希望電子表格中的列始終對齊。 在這種情況下,這將使生成新的電子表格比平常更複雜,因為您需要根據表中的其他列計算每個列的位置,以及需要多少行。
因此,我們已經提出了一個解決方案。 我們將展示如何使用IronXL C#程式庫輕鬆建立和讀取Excel文件。
如何在C#中以程式方式打開Excel文件
- 安裝打開Excel文件的C#程式庫
- 使用
WorkBookC#類建立或打開Excel文件 - 在C#中以程式方式向Excel工作表新增資料
- 使用直觀的API設置單元格樣式和數字格式
- 將Excel文件匯出為CSV或其他格式
IronXL: C# Excel Library
IronXL是一個C# Excel程式庫,幫助您生成更強大的電子表格。 使用IronXL,電子表格中的行數和列數沒有限制。 您可以根據需要擁有多行和多列,而無需新增複雜的公式來計算列寬。
IronXL使建立含有數百萬行和數千列的工作簿成為可能,這在無需複雜計算或使用任何其他電子表格軟體的情況下是不可能的。 使用IronXL,您的電子表格中行數和列數沒有限制,讓您在單一工作表上設計超高維模型。 IronXL是一個完整的程式庫,將完成所有Excel處理。 它的功能齊全的套件將在C#中建立和讀取Excel文件。
IronXL通過提供強大的功能簡化了資料處理和分析過程,使用者可以不費太大力氣地操作資料。 我們也不需要在我們的機器上安裝Microsoft Office。
下一部分將描述如何使用程式庫在C#中讀取和寫入Excel文件。
建立C# .NET專案
在Microsoft Visual Studio中建立一個新的C#控制台專案。 我使用的是Visual Studio 2022版本。 您可以使用任何版本,但建議使用最新版本。 建立專案時,選擇.NET Framework > 3.0 因為它是推薦的。 您可以為您的專案取任何名稱。 您也可以根據需要建立圖形使用者介面專案。 IronXL支持.NET Framework的每一種模板格式。 專案完成後,下一步將是安裝IronXL程式庫。
安裝IronXL程式庫
現在是時候安裝IronXL程式庫了。 您必須按照下面的步驟進行安裝。 我們將使用NuGet包管理器安裝程式庫。
從主選單欄中選擇工具選項。 在NuGet包管理器上懸停,從下拉選單中選擇為方案管理NuGet包...選項。
@@–IMG–482–BG–@@C#程式方式打開Excel文件(程式碼範例教程),圖1:導航到Visual Studio中的NuGet包管理器@@–IMG–482–EG–@@ 導航到Visual Studio中的NuGet包管理器
這將打開NuGet包管理器標籤。 前往瀏覽標籤並搜索IronXL。 從搜索結果中選擇IronXL。
@@–IMG–483–BG–@@C#程式方式打開Excel文件(程式碼範例教程),圖2:在NuGet包管理器中搜索IronXL@@–IMG–483–EG–@@ 在NuGet包管理器中搜索IronXL
安裝選定的程式庫。 您將會在解決方案瀏覽器中看到IronXL程式庫的相依性。
@@–IMG–484–BG–@@C#程式方式打開Excel文件(程式碼範例教程),圖3:已將IronXL包新增到專案@@–IMG–484–EG–@@ IronXL包已新增到專案
現在我們可以在專案中使用程式庫。 讓我們轉到@@–CODE–803–@@文件並編寫建立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")
在以下程式碼中,我們在程式的頂部導入IronXL程式庫。 然後,我們初始化@@–CODE–804–@@物件以建立新的XLSX格式Excel工作簿。 接下來,我們使用@@–CODE–807–@@方法在@@–CODE–806–@@中建立@@–CODE–805–@@,提供工作表的名稱作為參數。 可以用這種方式建立多個工作表。 現在,我們的Excel工作簿和工作表準備就緒。
接下來,我們將資料輸入到Excel工作表的單元格中。 可以通過其名稱存取單元格,"Value"屬性用於存取或設置單元格值。 可以為特定單元格或單元格範圍設置樣式,例如字體大小和樣式。 還可以為單個單元格或單元格範圍定義公式。 最後,我們將Excel文件保存為"example_workbook.xlsx",它將保存到我們專案的除錯文件夾中。
輸出
這裡您可以看到建立的程式的輸出。
@@–IMG–485–BG–@@C#程式方式打開Excel文件(程式碼範例教程),圖4:在Microsoft Excel中顯示的結果文件@@–IMG–485–EG–@@ 在Microsoft Excel中顯示的結果文件
結論
我們可以在C#中建立、讀取和修改現有的Microsoft Excel文件或XLSX文件。 IronXL為Microsoft Excel文件提供許多其他功能。 您可以從我們的教程頁面發掘這些功能。 IronXL是處理Excel的完整套件。 IronXL還提供了一系列功能以在Excel WorkBook、WorkSheet和Cells級別進行互動,諸如在流行格式之間轉換、單元格資料格式化、插入數學函式,甚至管理圖表。
IronXL在開發階段是完全免費的。 在開發階段,您可以免費使用帶有IronXL水印的產品。 IronXL還提供免費試用金鑰以用於生產環境,讓您在30天內進行完全免費的測試。 IronXL有合理的定價方案,您可以選擇符合您需求的級別進行購買。
@@–IMG–486–BG–@@C#程式方式打開Excel文件(程式碼範例教程),圖5:IronXL定價方案@@–IMG–486–EG–@@ IronXL定價方案
更重要的是 - Iron Software目前提供您五個軟體包的優惠價格,僅需支付兩個的價格。
常見問題
如何在 C# 中程式化開啟 Excel 檔案?
要在 C# 中程式化開啟 Excel 檔案,您可以使用 IronXL 程式庫。首先,通過 Visual Studio 的 NuGet 套件管理器安裝 IronXL。然後,使用 WorkBook 類別來開啟和操作 Excel 檔案,而無需 Microsoft Office。
使用IronXL進行Excel文件操作的好處是什麼?
IronXL 透過提供強大的功能來簡化 C# 中的 Excel 檔案處理,包括讀取、建立和修改 Excel 檔案。它支持大型資料集,並提供格式設置、公式計算以及匯出到不同格式的功能。
我可以使用 C# 建立帶有大型資料集的 Excel 檔案嗎?
是的,IronXL 允許您建立擁有數百萬行和數千列的 Excel 檔案,這對於程式化處理大型資料集和高維模型來說非常理想。
我應該遵循哪些步驟來在 C# 專案中設置 IronXL?
要在 C# 專案中設置 IronXL,打開 Visual Studio,前往工具> NuGet 套件管理器> 管理解決方案的 NuGet 套件,搜尋 IronXL 並安裝它。這將程式庫整合到您的專案中以進行 Excel 檔案操作。
如何使用 IronXL 程式化 Excel 儲存格格式?
using IronXL,您可以透過設置值、樣式和公式程式化 Excel 儲存格。您可以調整背景顏色、應用不同的字體樣式,還可以直接在 C# 程式碼中使用 Excel 公式。
在 C# 中處理 Excel 檔案是否需要 Microsoft Office?
不,IronXL 不需要 Microsoft Office 即可在 C# 中處理 Excel 檔案。它可獨立運行,允許您建立、讀取和編輯 Excel 檔案而不需額外的軟體。
如何使用 C# 將 Excel 檔案轉換為其他格式?
IronXL 允許您將 Excel 檔案轉換為其他格式,如 CSV。這是通過其匯出功能實現的,使不同的電子表格檔案型別之間的轉換很流暢。
IronXL 提供哪些授權選項?
IronXL 提供免費試用版以供開發使用,帶有水印。對於生產使用,可獲得免費 30 天的試用金鑰,並提供多種價格方案以滿足不同使用者需求。
哪些 .NET 版本與 IronXL 相容?
IronXL 支持多個 .NET Framework 版本,包括 .NET Framework 3.0 及以上。建議使用最新版本的 Visual Studio 以獲得最佳的相容性和效能。




