MS Excel 文件廣泛用於以行和列的形式存儲數據。在各種情況下,大型數據集也保存在 Excel 文件中。通常,您必須讀取 Excel 文件並從 .NET 應用程序中獲取數據。為了通過幾個簡單的步驟實現這一目標,本文展示瞭如何使用 C# 讀取 Excel 文件。特別是,它涵蓋瞭如何從整個 Excel 文件或單個工作表中讀取數據。
讀取 Excel 文件的 C# 庫 - 免費下載
要從工作表中讀取數據,我們將使用 Aspose.Cells for .NET。它是一個功能強大且功能豐富的 API,用於創建和操作 Excel 文件。此外,它還允許您非常輕鬆地讀取 Excel 文件。 API 可以從 下載部分 下載或通過 NuGet 安裝。
PM> Install-Package Aspose.Cells
在 C# 中讀取 Excel 文件
在 Excel 文件中,數據存儲在單元格內,每個單元格由其名稱(A1、B3 等)或行和列索引標識。單元格的集合構成一個工作表,一個 Excel 文件可能包含一個或多個工作表。最後,所有工作表共同組成一個工作簿。 Aspose.Cells for .NET 使用相同的命名約定來操作 Excel 文件。
下面是在C#中讀取Excel文件並獲取數據的步驟。
- 使用 Workbook 類加載 Excel 文件。
- 創建 WorksheetCollection 類的對象並使用 Workbook.Worksheets 獲取工作表的引用。
- 啟動一個循環遍歷集合中的所有工作表,並在每次迭代中執行以下步驟:
- 在 Worksheet 對像中獲取工作表的引用。
- 獲取工作表中數據行和列的計數。
- 為行開始一個循環。
- 為列啟動嵌套循環。
- 使用 Worksheet.Cells[i, j].Value 屬性從每個單元格讀取數據。
下面的代碼示例顯示瞭如何在 C# 中讀取 Excel 文件。
// 加載 Excel 文件
Workbook wb = new Workbook("excel.xlsx");
// 獲取所有工作表
WorksheetCollection collection = wb.Worksheets;
// 遍歷所有工作表
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{
// 使用其索引獲取工作表
Worksheet worksheet = collection[worksheetIndex];
// 打印工作表名稱
Console.WriteLine("Worksheet: " + worksheet.Name);
// 獲取行數和列數
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;
// 遍歷行
for (int i = 0; i < rows; i++)
{
// 遍歷所選行中的每一列
for (int j = 0; j < cols; j++)
{
// 普林格值
Console.Write(worksheet.Cells[i, j].Value + " | ");
}
// 打印換行符
Console.WriteLine(" ");
}
}
以下是我們在運行上面的代碼示例後在控制台中獲得的輸出。
C# 讀取特定的 Excel 工作表
您還可以按照以下步驟僅讀取 Excel 文件中的特定工作表。
- 使用 Workbook 類加載 Excel 文件。
- 使用 Workbook.Worksheets[index] 在 Worksheet 對像中獲取所需工作表的引用。
- 獲取工作表中數據行和列的計數。
- 為行開始一個循環。
- 為列啟動嵌套循環。
- 使用 Worksheet.Cells[i, j].Value 屬性從每個單元格讀取數據。
下面的代碼示例顯示瞭如何從 C# 中的特定工作表中讀取數據。
// 加載 Excel 文件
Workbook wb = new Workbook("excel.xlsx");
// 使用其索引獲取工作表
Worksheet worksheet = wb.Worksheets[0];
// 打印工作表名稱
Console.WriteLine("Worksheet: " + worksheet.Name);
// 獲取行數和列數
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;
// 遍歷行
for (int i = 0; i < rows; i++)
{
// 遍歷所選行中的每一列
for (int j = 0; j < cols; j++)
{
// 普林格值
Console.Write(worksheet.Cells[i, j].Value + " | ");
}
// 打印換行符
Console.WriteLine(" ");
}
C# Excel Reader API - 獲得免費許可證
通過獲得免費臨時許可證,您可以不受評估限制地使用 Aspose.Cells for .NET。
結論
在本文中,您了解瞭如何在 C# 中以編程方式讀取 Excel 文件。借助代碼示例,您了解瞭如何從特定工作表或 Excel 工作簿中的所有工作表讀取數據。此外,您可以使用 文檔 探索 Aspose.Cells for .NET 的其他功能。如果您有任何疑問,請隨時通過我們的 論壇 告訴我們。