Đọc dữ liệu trong tệp Excel bằng C#

Tệp MS Excel được sử dụng rộng rãi để lưu trữ dữ liệu dưới dạng hàng và cột. Trong các trường hợp khác nhau, các tập dữ liệu lớn cũng được duy trì trong các tệp Excel. Thông thường, bạn phải đọc các tệp Excel và tìm nạp dữ liệu từ bên trong các ứng dụng .NET của mình. Để đạt được điều đó trong một vài bước đơn giản, bài viết này hướng dẫn cách đọc tệp Excel trong C#. Đặc biệt, nó bao gồm cách đọc dữ liệu từ toàn bộ tệp Excel hoặc chỉ một trang tính duy nhất.

Thư viện C# để đọc tệp Excel - Tải xuống miễn phí

Để đọc dữ liệu từ các trang tính, chúng tôi sẽ sử dụng Aspose.Cells for .NET. Nó là một API mạnh mẽ và giàu tính năng để tạo và thao tác các tệp Excel. Hơn nữa, nó cho phép bạn đọc các tệp Excel khá dễ dàng. Có thể tải xuống API từ phần tải xuống hoặc cài đặt qua NuGet.

PM> Install-Package Aspose.Cells

Đọc tệp Excel trong C#

Trong tệp Excel, dữ liệu được lưu trữ bên trong các ô mà mỗi ô được xác định bằng tên của nó (A1, B3, v.v.) hoặc chỉ số hàng và cột. Tập hợp các ô tạo nên một trang tính và một tệp Excel có thể chứa một hoặc nhiều trang tính. Cuối cùng, tất cả các trang tính sẽ tạo thành một sổ làm việc. Aspose.Cells for .NET sử dụng các quy ước đặt tên giống nhau để thao tác các tệp Excel.

Sau đây là các bước để đọc tệp Excel và lấy dữ liệu trong C#.

  • Tải tệp Excel bằng lớp Workbook.
  • Tạo một đối tượng của lớp WorksheetCollection và lấy tham chiếu của các trang tính bằng Workbook.Worksheets.
  • Bắt đầu một vòng lặp để đi qua tất cả các trang tính trong bộ sưu tập và trong mỗi lần lặp, hãy thực hiện các bước sau:
    • Nhận tham chiếu của trang tính trong đối tượng Trang tính.
    • Nhận số lượng hàng và cột dữ liệu trong trang tính.
    • Bắt đầu một vòng lặp cho các hàng.
    • Bắt đầu một vòng lặp lồng nhau cho các cột.
    • Đọc dữ liệu từ mỗi ô bằng thuộc tính Worksheet.Cells [i, j] .Value.

Mẫu mã sau đây cho thấy cách đọc tệp Excel trong C#.

// Tải tệp Excel
Workbook wb = new Workbook("excel.xlsx");

// Nhận tất cả các trang tính
WorksheetCollection collection = wb.Worksheets;

// Lặp lại tất cả các trang tính
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{

    // Nhận trang tính bằng cách sử dụng chỉ mục của nó
    Worksheet worksheet = collection[worksheetIndex];

    // In tên bảng tính
    Console.WriteLine("Worksheet: " + worksheet.Name);

    // Nhận số hàng và cột
    int rows = worksheet.Cells.MaxDataRow;
    int cols = worksheet.Cells.MaxDataColumn;

    // Lặp qua các hàng
   for (int i = 0; i < rows; i++)
    {

        // Lặp qua từng cột trong hàng đã chọn
       for (int j = 0; j < cols; j++)
        {
            // Pring giá trị ô
            Console.Write(worksheet.Cells[i, j].Value + " | ");
        }
        // In ngắt dòng
        Console.WriteLine(" ");
    }
}

Sau đây là kết quả mà chúng tôi nhận được trong bảng điều khiển sau khi chạy mẫu mã ở trên.

Đọc dữ liệu trong trang tính của tệp Excel trong C#

Đọc tệp Excel trong C#

C# Đọc một trang tính Excel cụ thể

Bạn cũng có thể chỉ đọc một trang tính cụ thể trong tệp Excel bằng cách làm theo các bước bên dưới.

  • Tải tệp Excel bằng lớp Workbook.
  • Nhận tham chiếu của trang tính mong muốn trong đối tượng Worksheet bằng cách sử dụng Workbook.Worksheets [index].
  • Nhận số lượng hàng và cột dữ liệu trong trang tính.
  • Bắt đầu một vòng lặp cho các hàng.
  • Bắt đầu một vòng lặp lồng nhau cho các cột.
  • Đọc dữ liệu từ mỗi ô bằng thuộc tính Worksheet.Cells [i, j] .Value.

Mẫu mã sau đây cho thấy cách đọc dữ liệu từ một trang tính cụ thể trong C#.

// Tải tệp Excel
Workbook wb = new Workbook("excel.xlsx");

// Nhận trang tính bằng cách sử dụng chỉ mục của nó
Worksheet worksheet = wb.Worksheets[0];

// In tên bảng tính
Console.WriteLine("Worksheet: " + worksheet.Name);

// Nhận số hàng và cột
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;

// Lặp qua các hàng
for (int i = 0; i < rows; i++)
{
    // Lặp qua từng cột trong hàng đã chọn
   for (int j = 0; j < cols; j++)
    {
        // Pring giá trị ô
        Console.Write(worksheet.Cells[i, j].Value + " | ");
    }
    // In ngắt dòng
    Console.WriteLine(" ");
}

C# Excel Reader API - Nhận Giấy phép Miễn phí

Bạn có thể sử dụng Aspose.Cells for .NET mà không có giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách đọc các tệp Excel theo chương trình trong C#. Với sự trợ giúp của các mẫu mã, bạn đã biết cách đọc dữ liệu từ một trang tính cụ thể hoặc tất cả các trang tính trong sổ làm việc Excel. Ngoài ra, bạn có thể khám phá các tính năng khác của Aspose.Cells for .NET bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ thắc mắc nào, vui lòng cho chúng tôi biết qua diễn đàn của chúng tôi.

Xem thêm