在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
與...合作Excel 文件以程式方式可以顯著提升您的 C# 應用程式的效率和自動化能力。 無論您是在生成報告、處理數據,還是動態創建複雜的電子表格,掌握 Excel 文件的操作都是至關重要的。 在本教程中,我們將專注於使用 Excel 範圍IronXL. 我們將介紹如何編寫, 讀取,和操作範圍在 Excel 文件中。
安裝 IronXL 庫以處理 Excel 文件。
加載工作簿並指定工作表。
選擇要讀取的儲存格範圍。
IronXL是一個全面的 C# 庫,簡化了 Excel 文件的處理,提供一系列功能,實現電子表格數據的無縫整合和操控。 其功能包括讀取, 寫作,和修改無需安裝 Microsoft Excel 即可使用 Excel 文件,實現跨平台相容性。
IronXL 能夠方便地從特定的數據中提取資料cells, 範圍,或整個工作表,以及進階功能,如格式化, 樣式,和條件格式化. IronXL 支援計算、公式和統計分析,讓開發人員能夠以程式方式有效地處理 Excel 操作,使其成為在 C# 應用程式中自動化以資料為中心的任務不可或缺的工具。
首先,我們需要在我們的應用程式中安裝IronXL Library。
您可以透過以下指令使用 NuGet 套件管理器安裝 IronXL:
Install-Package IronXL.Excel
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronXL.Excel
上述命令將安裝 IronXL 及其所有相依項目。
在 Program.cs 類別的頂端或任何需要使用 IronXL 方法的地方,添加以下命名空間。
using IronXL;
using IronXL;
Imports IronXL
第一步是載入 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
該文件行從名為"test_excel.xlsx"的文件中加載現有的 Excel 工作簿。 第二行從加載的工作簿中檢索名為 "Sheet1" 的工作表。
在整個教學過程中,我將使用以下 Excel 文件。
現在,讓我們從指定的單元格範圍中讀取數據。
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
第一行選定一個特定的範圍地址(A2 到 G10)在工作表中,讓您能夠同時處理多個 Excel 儲存格。 foreach (範圍內的項目)迴圈會遍歷此儲存格範圍內的每個儲存格,從而實現高效的數據處理。
透過使用 Console.WriteLine(項目); 程式碼將每個單元格的值打印到控制台,便於查看範圍的內容。 此方法簡化了數據處理並改善了代碼可讀性。
讓我們選擇一個特定範圍,並實現一些 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()))}")
代碼 var range = sheet
["F2:F42"]; 選擇從 F2 到 F42 範圍的單元格,以便於年齡數據的統計分析。 使用 range.Min()和 range.Max()它能有效計算指定範圍內的最小和最大年齡值,有助於獲得人口統計見解。
另外,range.Avg()計算平均年齡,提供有價值的統計指標以供數據解釋。 這種方法簡化了數據分析任務,提供快速訪問基本統計信息,以便做出明智的決策。
讓我們從單個儲存格讀取資料。
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}")
代碼 var read_from_single_cell = sheet[B2]; 從工作表中檢索儲存在單元格 B2 的值。 使用這種方法,您可以輕鬆地訪問 Excel 文件中的特定單元格值。
使用 Console.WriteLine(B2 儲存格中的值為:{從單個單元格讀取}請提供您想要翻譯的內容。)程式碼將引用單元格的檢索值印出到控制台,以便進行數據驗證和調試。 這簡化了從 Excel 文件中檢索和顯示個別單元格值的過程。
讓我們使用索引從整列讀取數據。
// 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
代碼 var columnValues = sheet.GetColumn
(2); 從索引 2 的列中檢索所有值(B欄)在工作表中。 這使您能夠有效地存取 Excel 表單中特定欄位的所有值。
透過遍歷 columnValues 的 foreach 迴圈,使用 Console.WriteLine 將每個列中的值打印到控制台。(欄位值);. 這種方法促進了從 Excel 文件處理和顯示欄狀數據,簡化了數據分析任務。
或者,我們也可以使用列名而不是索引來從列中讀取數據。 請考慮以下示例:
var columnValues = sheet.GetColumn("C");
var columnValues = sheet.GetColumn("C");
Dim columnValues = sheet.GetColumn("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
代碼 var rowValues = sheet.GetRow(1); 從索引1處的單行中檢索所有值(第2行)在工作表中,實現高效訪問特定行數據。 透過遍歷 rowValues 的 foreach 迴圈,每一行的值都使用 Console.Write 列印到控制台。(rowValue + " ");.
這種方法簡化了從 Excel 文件中提取和顯示行數據的過程,有助於數據分析和報告任務。 這樣,我們可以在不指定範圍的情況下從多個單元格讀取值。
我們可以將資料寫入到單個儲存格或範圍。 首先,我們將數據寫入一個範圍。
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()
代碼 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()
程式碼表[B2].Value = "John"; 直接將值「John」賦予 Excel 工作表中的 B2 儲存格,提供了一種簡潔明快的方法來更新特定儲存格的值。 此方法簡化了修改單個儲存格內容的過程,提高了程式碼的可讀性和效率。
總之,使用 IronXL 在 C# 中掌握 Excel 範圍操作顯著提升了應用程序的效率和自動化能力,便利了數據處理、報告生成和動態電子表格創建等任務。
藉助IronXL強大的讀取、寫入和操作Excel文件功能,開發人員可以精簡資料處理流程,並利用進階功能,如公式、格式化和統計分析。 此外,IronXL 提供一個免費試用,確保靈活性和可擴展性以滿足各種項目需求。