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
- Odczyt danych z pliku Excel
- Przeczytaj arkusz w skoroszycie programu Excel
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.
- Załaduj plik Excela, używając klasy Workbook.
- Utwórz obiekt klasy WorksheetCollection i pobierz referencję do arkuszy za pomocą metody Workbook.getWorksheets().
- 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ą metody Worksheet.getCells().get(rowIndex, columnIndex).getValue().
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.
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.
- Załaduj plik Excela, używając klasy Workbook.
- Uzyskaj odniesienie do żądanego arkusza w obiekcie Worksheet za pomocą metody Workbook.getWorksheets().get(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ą metody Worksheet.getCells().get(rowIndex, columnIndex).getValue().
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.