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

Pliki MS Excel są w dużej mierze wykorzystywane do przechowywania danych tabelarycznych w postaci arkuszy kalkulacyjnych. Często ogromne zbiory danych są również przechowywane w plikach Excel. Dlatego możesz spotkać się ze scenariuszem, w którym musisz odczytać i pobrać dane z arkuszy w pliku Excel. Aby to osiągnąć, w tym artykule pokazano, jak odczytać plik Excela w Javie. Pokażemy, jak programowo odczytać cały plik Excela lub tylko pojedynczy arkusz.

Biblioteka Java do odczytu plików Excel

Do odczytu danych z arkuszy wykorzystamy Aspose.Cells for Java. Jest to interfejs API do manipulacji arkuszami kalkulacyjnymi do tworzenia plików Excel od podstaw. Co więcej, pozwala dość łatwo czytać i manipulować istniejącymi plikami Excel. Interfejs API można pobrać z sekcji pobierania lub zainstalować, dodając następujące konfiguracje Mavena w pliku pom.xml.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.11</version>
</dependency>

Przeczytaj plik Excela w Javie

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. Komórki te razem tworzą arkusz roboczy, a plik programu Excel składa się z jednego lub wielu arkuszy roboczych. Wszystkie karty pracy znajdują się w zeszycie ćwiczeń. To był krótki przegląd struktury pliku Excel. Przejdźmy teraz do odczytu danych z pliku Excel.

Poniżej przedstawiono kroki, aby odczytać plik programu Excel i wydrukować jego dane przy użyciu języka Java.

Poniższy przykładowy kod pokazuje, jak odczytać plik programu Excel w Javie.

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

// Pobierz wszystkie karty pracy
WorksheetCollection collection = wb.getWorksheets();

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

  // Pobierz arkusz roboczy, korzystając z jego indeksu
  Worksheet worksheet = collection.get(worksheetIndex);

  // Wydrukuj nazwę arkusza
  System.out.print("Worksheet: " + worksheet.getName());

  // Uzyskaj liczbę wierszy i kolumn
  int rows = worksheet.getCells().getMaxDataRow();
  int cols = worksheet.getCells().getMaxDataColumn();

  // 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
	System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
    }
    // Przerwa w linii wydruku
    System.out.println(" ");
  }
}

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

Odczytywanie danych z arkuszy kalkulacyjnych pliku Excel w Javie

Czytanie pliku Excela w Javie

Przeczytaj określony arkusz w programie Excel w Javie

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

Poniższy przykładowy kod pokazuje, jak odczytywać dane z określonego arkusza w Javie.

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

// Pobierz odniesienie do arkusza
Worksheet worksheet = wb.getWorksheets().get(0);

// Uzyskaj liczbę wierszy i kolumn
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();

// 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++) {

    // Wydrukuj wartość komórki
    System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");

  }
  // Przerwa w linii wydruku
  System.out.println(" ");
}

Uzyskaj bezpłatną licencję API

Możesz używać Aspose.Cells for Java bez ograniczeń ewaluacyjnych, otrzymując bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się dynamicznie odczytywać pliki Excela w Javie. 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 Java, korzystając z dokumentacji. Jeśli masz jakieś pytania, daj nam znać za pośrednictwem naszego forum.

Zobacz też