使用IRONXL

如何在C#中管理Excel範圍

發佈 2024年9月29日
分享:

與...合作 Excel 文件 以程式方式可以顯著提升您的 C# 應用程式的效率和自動化能力。 無論您是在生成報告、處理數據,還是動態創建複雜的電子表格,掌握 Excel 文件的操作都是至關重要的。 在本教程中,我們將專注於使用 Excel 範圍 IronXL. 我們將介紹如何 編寫, 讀取,和 操作範圍 在 Excel 文件中。

如何在 C# 中讀取 Excel 範圍

  1. 安裝 IronXL 庫以處理 Excel 文件。

  2. 加載工作簿並指定工作表。

  3. 選擇要讀取的儲存格範圍。

  4. 從指定範圍提取並讀取數據。

什麼是IronXL?

IronXL 是一個全面的 C# 庫,簡化了 Excel 文件的處理,提供一系列功能,實現電子表格數據的無縫整合和操控。 其功能包括 讀取, 寫作,和 修改 無需安裝 Microsoft Excel 即可使用 Excel 文件,實現跨平台相容性。

IronXL 能夠方便地從特定的數據中提取資料 cells, 範圍,或整個工作表,以及進階功能,如 格式化, 樣式,和 條件格式化. IronXL 支援計算、公式和統計分析,讓開發人員能夠以程式方式有效地處理 Excel 操作,使其成為在 C# 應用程式中自動化以資料為中心的任務不可或缺的工具。

開始使用 C# 中的 Excel 範圍儲存格

首先,我們需要在我們的應用程式中安裝IronXL Library。

安裝 IronXL NuGet 套件

您可以透過以下指令使用 NuGet 套件管理器安裝 IronXL:

Install-Package IronXL.Excel
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronXL.Excel
VB   C#

上述命令將安裝 IronXL 及其所有相依項目。

如何在 C# 中管理 Excel 範圍:圖 1

添加命名空間

在 Program.cs 類別的頂端或任何需要使用 IronXL 方法的地方,添加以下命名空間。

using IronXL;
using IronXL;
Imports IronXL
VB   C#

載入 Excel 工作簿

第一步是載入 Excel 活頁簿。 以下代碼將在我們的應用程式中載入 Excel 工作簿。

static void Main(string[] args)
 {
     var workbook = WorkBook.Load("test_excel.xlsx");
     var sheet = workbook.GetWorkSheet("Sheet1");
 }
static void Main(string[] args)
 {
     var workbook = WorkBook.Load("test_excel.xlsx");
     var sheet = workbook.GetWorkSheet("Sheet1");
 }
Shared Sub Main(ByVal args() As String)
	 Dim workbook = WorkBook.Load("test_excel.xlsx")
	 Dim sheet = workbook.GetWorkSheet("Sheet1")
End Sub
VB   C#

該文件行從名為"test_excel.xlsx"的文件中加載現有的 Excel 工作簿。 第二行從加載的工作簿中檢索名為 "Sheet1" 的工作表。

在整個教學過程中,我將使用以下 Excel 文件。

如何在 C# 中管理 Excel 範圍:圖2

從範圍中讀取資料

現在,讓我們從指定的單元格範圍中讀取數據。

var range = sheet["A2:G10"];
foreach (var item in range)
{
    Console.WriteLine(item);
}
var range = sheet["A2:G10"];
foreach (var item in range)
{
    Console.WriteLine(item);
}
Dim range = sheet("A2:G10")
For Each item In range
	Console.WriteLine(item)
Next item
VB   C#

第一行選定一個特定的範圍地址 (A2 到 G10) 在工作表中,讓您能夠同時處理多個 Excel 儲存格。 foreach (範圍內的項目) 迴圈會遍歷此儲存格範圍內的每個儲存格,從而實現高效的數據處理。

透過使用 Console.WriteLine(項目); 程式碼將每個單元格的值打印到控制台,便於查看範圍的內容。 此方法簡化了數據處理並改善了代碼可讀性。

在範圍內使用 Excel 公式

讓我們選擇一個特定範圍,並實現一些 Excel 公式。

var range = sheet["F2:F42"];
Console.WriteLine($"Minimum Age: {range.Min()}");
Console.WriteLine($"Maximum Age: {range.Max()}");
Console.WriteLine($"Average Age: {(int)range.Avg()}");
var range = sheet["F2:F42"];
Console.WriteLine($"Minimum Age: {range.Min()}");
Console.WriteLine($"Maximum Age: {range.Max()}");
Console.WriteLine($"Average Age: {(int)range.Avg()}");
Imports System

Dim range = sheet("F2:F42")
Console.WriteLine($"Minimum Age: {range.Min()}")
Console.WriteLine($"Maximum Age: {range.Max()}")
Console.WriteLine($"Average Age: {CInt(Math.Truncate(range.Avg()))}")
VB   C#

代碼 var range = sheet["F2:F42"]; 選擇從 F2 到 F42 範圍的單元格,以便於年齡數據的統計分析。 使用 range.Min() 和 range.Max()它能有效計算指定範圍內的最小和最大年齡值,有助於獲得人口統計見解。

另外,range.Avg() 計算平均年齡,提供有價值的統計指標以供數據解釋。 這種方法簡化了數據分析任務,提供快速訪問基本統計信息,以便做出明智的決策。

如何在 C# 中管理 Excel 範圍:圖 3

從單個儲存格讀取數據

讓我們從單個儲存格讀取資料。

var read_from_single_cell = sheet["B2"];
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");
var read_from_single_cell = sheet["B2"];
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");
Dim read_from_single_cell = sheet("B2")
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}")
VB   C#

代碼 var read_from_single_cell = sheet[B2]; 從工作表中檢索儲存在單元格 B2 的值。 使用這種方法,您可以輕鬆地訪問 Excel 文件中的特定單元格值。

使用 Console.WriteLine(B2 儲存格中的值為: {從單個單元格讀取}請提供您想要翻譯的內容。)程式碼將引用單元格的檢索值印出到控制台,以便進行數據驗證和調試。 這簡化了從 Excel 文件中檢索和顯示個別單元格值的過程。

如何在 C# 中管理 Excel 範圍:圖 4

從整欄讀取數據

讓我們使用索引從整列讀取數據。

// Get Last name Column from Index 2
 var columnValues = sheet.GetColumn(2); // 2 is column index
 foreach ( var columnValue in columnValues )
 {
     Console.WriteLine(columnValue);
 }
// Get Last name Column from Index 2
 var columnValues = sheet.GetColumn(2); // 2 is column index
 foreach ( var columnValue in columnValues )
 {
     Console.WriteLine(columnValue);
 }
' Get Last name Column from Index 2
 Dim columnValues = sheet.GetColumn(2) ' 2 is column index
 For Each columnValue In columnValues
	 Console.WriteLine(columnValue)
 Next columnValue
VB   C#

代碼 var columnValues = sheet.GetColumn(2); 從索引 2 的列中檢索所有值 (B欄) 在工作表中。 這使您能夠有效地存取 Excel 表單中特定欄位的所有值。

透過遍歷 columnValues 的 foreach 迴圈,使用 Console.WriteLine 將每個列中的值打印到控制台。(欄位值);. 這種方法促進了從 Excel 文件處理和顯示欄狀數據,簡化了數據分析任務。

如何在 C# 中管理 Excel 範圍:圖 5

或者,我們也可以使用列名而不是索引來從列中讀取數據。 請考慮以下示例:

var columnValues = sheet.GetColumn("C");
var columnValues = sheet.GetColumn("C");
Dim columnValues = sheet.GetColumn("C")
VB   C#

這樣,我們可以指定多個列。

從整列讀取數據

讓我們使用行號從整行讀取數據。

var rowValues = sheet.GetRow(1);// 1 is row index
 foreach (var rowValue in rowValues)
 {
     Console.Write(rowValue + "  ");
 }
var rowValues = sheet.GetRow(1);// 1 is row index
 foreach (var rowValue in rowValues)
 {
     Console.Write(rowValue + "  ");
 }
Dim rowValues = sheet.GetRow(1) ' 1 is row index
 For Each rowValue In rowValues
	 Console.Write(rowValue & "  ")
 Next rowValue
VB   C#

代碼 var rowValues = sheet.GetRow(1); 從索引1處的單行中檢索所有值 (第2行) 在工作表中,實現高效訪問特定行數據。 透過遍歷 rowValues 的 foreach 迴圈,每一行的值都使用 Console.Write 列印到控制台。(rowValue + " ");.

這種方法簡化了從 Excel 文件中提取和顯示行數據的過程,有助於數據分析和報告任務。 這樣,我們可以在不指定範圍的情況下從多個單元格讀取值。

如何在C#中管理Excel範圍:圖6

將數據寫入單元格或範圍

我們可以將資料寫入到單個儲存格或範圍。 首先,我們將數據寫入一個範圍。

var range = sheet["D2:D14"];
range.Value = "Prefer Not to Say"; // Change Gender Value
workbook.Save();
var range = sheet["D2:D14"];
range.Value = "Prefer Not to Say"; // Change Gender Value
workbook.Save();
Dim range = sheet("D2:D14")
range.Value = "Prefer Not to Say" ' Change Gender Value
workbook.Save()
VB   C#

代碼 var range = sheet["D2:D14"]; 選擇從單元格 D2 到 D14 的範圍,允許批量數據修改。 將 range.Value 設定為「不願透露」,可有效地更新指定範圍內每個儲存格的性別值,從而減少重複的任務。

隨後的 workbook.Save(); 命令確保這些變更的持久儲存,維持數據的一致性和完整性。 此方法簡化了批次更新並確保多個單元格的一致性,提高資料管理效率。

現在,讓我們將數據寫入特定的單元格。

sheet["B2"].Value = "John";
workbook.Save();
sheet["B2"].Value = "John";
workbook.Save();
sheet("B2").Value = "John"
workbook.Save()
VB   C#

程式碼表[B2].Value = "John"; 直接將值「John」賦予 Excel 工作表中的 B2 儲存格,提供了一種簡潔明快的方法來更新特定儲存格的值。 此方法簡化了修改單個儲存格內容的過程,提高了程式碼的可讀性和效率。

如何在 C# 中管理 Excel 範圍:圖 7 - C# Excel 範圍

結論

總之,使用 IronXL 在 C# 中掌握 Excel 範圍操作顯著提升了應用程序的效率和自動化能力,便利了數據處理、報告生成和動態電子表格創建等任務。

藉助IronXL強大的讀取、寫入和操作Excel文件功能,開發人員可以精簡資料處理流程,並利用進階功能,如公式、格式化和統計分析。 此外,IronXL 提供一個 免費試用,確保靈活性和可擴展性以滿足各種項目需求。

下一個 >
如何在 C# 中處理 Excel 文件

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 1,023,839 查看許可證 >