Odczytywanie danych w plikach Excel przy użyciu języka C#

Pliki MS Excel są szeroko stosowane do przechowywania danych w postaci wierszy i kolumn. W różnych przypadkach duże zbiory danych są również przechowywane w plikach Excel. Często musisz odczytywać pliki programu Excel i pobierać dane z aplikacji .NET. Aby to osiągnąć w kilku prostych krokach, w tym artykule pokazano, jak odczytać plik programu Excel w języku C#. W szczególności obejmuje sposób odczytywania danych z całego pliku Excel lub tylko z jednego arkusza.

Biblioteka C# do odczytu plików Excela — bezpłatne pobieranie

Do odczytu danych z arkuszy wykorzystamy Aspose.Cells for .NET. Jest to potężny i bogaty w funkcje interfejs API do tworzenia i manipulowania plikami Excel. Co więcej, pozwala dość łatwo czytać pliki Excela. Interfejs API można pobrać z sekcji pobierania lub zainstalować za pomocą NuGet.

PM> Install-Package Aspose.Cells

Przeczytaj plik Excela w C#

W plikach programu Excel dane są przechowywane w komórkach, gdzie każda komórka jest identyfikowana przez nazwę (A1, B3 itd.) lub indeks wiersza i kolumny. Zbiór komórek tworzy arkusz, a plik programu Excel może zawierać jeden lub wiele arkuszy. Na koniec wszystkie arkusze razem tworzą zeszyt ćwiczeń. Aspose.Cells for .NET używa tych samych konwencji nazewnictwa do manipulowania plikami Excel.

Poniżej przedstawiono kroki, aby odczytać plik programu Excel i pobrać dane w języku C#.

  • Załaduj plik Excela, używając klasy Workbook.
  • Utwórz obiekt klasy WorksheetCollection i pobierz odniesienia do arkuszy za pomocą Workbook.Worksheets.
  • Rozpocznij pętlę, aby przejść przez wszystkie arkusze w kolekcji i w każdej iteracji wykonaj następujące kroki:
    • Uzyskaj odniesienie do arkusza w obiekcie Worksheet.
    • Uzyskaj liczbę wierszy i kolumn danych w arkuszu.
    • Rozpocznij pętlę dla wierszy.
    • Uruchom zagnieżdżoną pętlę dla kolumn.
    • Odczytaj dane z każdej komórki za pomocą właściwości Worksheet.Cells[i, j].Value.

Poniższy przykładowy kod pokazuje, jak odczytać plik programu Excel w języku C#.

// Załaduj plik Excela
Workbook wb = new Workbook("excel.xlsx");

// Pobierz wszystkie karty pracy
WorksheetCollection collection = wb.Worksheets;

// Przejrzyj w pętli wszystkie arkusze
for (int worksheetIndex = 0; worksheetIndex < collection.Count; worksheetIndex++)
{

    // Pobierz arkusz roboczy, korzystając z jego indeksu
    Worksheet worksheet = collection[worksheetIndex];

    // Wydrukuj nazwę arkusza
    Console.WriteLine("Worksheet: " + worksheet.Name);

    // Uzyskaj liczbę wierszy i kolumn
    int rows = worksheet.Cells.MaxDataRow;
    int cols = worksheet.Cells.MaxDataColumn;

    // Zapętlaj rzędy
   for (int i = 0; i < rows; i++)
    {

        // Przejdź przez każdą kolumnę w wybranym rzędzie
       for (int j = 0; j < cols; j++)
        {
            // Pring wartość komórki
            Console.Write(worksheet.Cells[i, j].Value + " | ");
        }
        // Przerwa w linii wydruku
        Console.WriteLine(" ");
    }
}

Poniżej przedstawiono dane wyjściowe, które otrzymujemy w konsoli po uruchomieniu powyższego przykładowego kodu.

Odczytywanie danych w arkuszach pliku Excel w języku C#

Czytanie pliku Excela w C#

C# Przeczytaj konkretny arkusz programu Excel

Możesz także odczytać tylko określony arkusz w pliku Excel, wykonując poniższe czynności.

  • Załaduj plik programu Excel przy użyciu klasy Workbook.
  • Uzyskaj odniesienie do żądanego arkusza w obiekcie Worksheet za pomocą Workbook.Worksheets[index].
  • Uzyskaj liczbę wierszy i kolumn danych w arkuszu.
  • Rozpocznij pętlę dla wierszy.
  • Uruchom zagnieżdżoną pętlę dla kolumn.
  • Odczytaj dane z każdej komórki za pomocą właściwości Worksheet.Cells[i, j].Value.

Poniższy przykładowy kod pokazuje, jak odczytywać dane z określonego arkusza w języku C#.

// Załaduj plik Excela
Workbook wb = new Workbook("excel.xlsx");

// Pobierz arkusz roboczy, korzystając z jego indeksu
Worksheet worksheet = wb.Worksheets[0];

// Wydrukuj nazwę arkusza
Console.WriteLine("Worksheet: " + worksheet.Name);

// Uzyskaj liczbę wierszy i kolumn
int rows = worksheet.Cells.MaxDataRow;
int cols = worksheet.Cells.MaxDataColumn;

// Zapętlaj rzędy
for (int i = 0; i < rows; i++)
{
    // Przejdź przez każdą kolumnę w wybranym rzędzie
   for (int j = 0; j < cols; j++)
    {
        // Pring wartość komórki
        Console.Write(worksheet.Cells[i, j].Value + " | ");
    }
    // Przerwa w linii wydruku
    Console.WriteLine(" ");
}

C# Excel Reader API — Uzyskaj bezpłatną licencję

Możesz używać Aspose.Cells for .NET bez ograniczeń ewaluacyjnych, otrzymując darmową licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak programowo odczytywać pliki programu Excel w języku C#. Za pomocą przykładów kodu widziałeś, jak odczytywać dane z określonego arkusza lub wszystkich arkuszy w skoroszycie programu Excel. Ponadto możesz zapoznać się z innymi funkcjami Aspose.Cells for .NET, korzystając z dokumentacji. Jeśli masz jakieś pytania, daj nam znać za pośrednictwem naszego forum.

Zobacz też