使用C#讀取Excel文件中的數據

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文件工作表中的數據

在 C# 中讀取 Excel 文件

C# 讀取特定的 Excel 工作表

您還可以按照以下步驟僅讀取 Excel 文件中的特定工作表。

下面的代碼示例顯示瞭如何從 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 的其他功能。如果您有任何疑問,請隨時通過我們的 論壇 告訴我們。

也可以看看