Jak załadować arkusz kalkulacyjny w Java
Jak załadować arkusz kalkulacyjny w Java
Aspose.Cells FOSS dla Java umożliwia otwieranie istniejących skoroszytów Excel .xlsx z ścieżki pliku lub z dowolnego java.io.InputStream. Ten przewodnik pokazuje oba wzorce ładowania i wyjaśnia, jak uzyskać dostęp do arkuszy i komórek po załadowaniu skoroszytu.
Wymagania wstępne
| Wymaganie | Szczegół |
|---|---|
| Java | 17 lub nowszy (JDK) |
Powierzchnia AutoFilter API została zmieniona w bieżącym modelu źródłowym; przed poleganiem na starszych szczegółach członków, zapoznaj się z jej stroną referencyjną. | Narzędzie budowania | Maven 3.9+ lub Gradle 8+ | | Zależność | org.aspose:aspose-cells-foss:26.7.0 | | Plik wejściowy | Poprawny skoroszyt .xlsx |
Dodaj do pom.xml:
<dependency>
<groupId>org.aspose</groupId>
<artifactId>aspose-cells-foss</artifactId>
<version>26.7.0</version>
</dependency>Krok 1 — Ładowanie ze ścieżki pliku
Przekaż bezwzględną lub względną ścieżkę pliku do konstruktora Workbook(fileName):
import com.aspose.cells.foss.Workbook;
Workbook workbook = new Workbook("data/report.xlsx");
System.out.println("Loaded. Sheets: " + workbook.getWorksheets().getCount());Konstruktor odczytuje plik i deserializuje zawartość XLSX do pamięci. Jeśli plik nie istnieje lub nie jest prawidłowym plikiem XLSX, zostaje rzucony WorkbookLoadException.
Krok 2 — Ładowanie ze strumienia
Użyj Workbook(stream), gdy zawartość pliku pochodzi z połączenia sieciowego, BLOB-a w bazie danych lub bufora w pamięci:
import com.aspose.cells.foss.Workbook;
import java.io.FileInputStream;
import java.io.InputStream;
try (InputStream is = new FileInputStream("data/report.xlsx")) {
Workbook workbook = new Workbook(is);
System.out.println("Loaded from stream. Sheets: " + workbook.getWorksheets().getCount());
}Zawsze otaczaj InputStream blokiem try-with-resources, aby strumień został zamknięty nawet jeśli konstruktor rzuci wyjątek.
Krok 3 — Ładowanie z opcjami
Użyj Workbook(fileName, options) lub Workbook(stream, options), aby przekazać instancję LoadOptions, gdy potrzebna jest precyzyjna kontrola nad zachowaniem ładowania:
import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.LoadOptions;
LoadOptions opts = new LoadOptions();
// configure opts here if needed
Workbook workbook = new Workbook("data/report.xlsx", opts);Krok 4 — Dostęp do arkuszy
Po załadowaniu użyj Workbook.getWorksheets(), aby iterować arkusze lub pobrać konkretny arkusz według indeksu lub nazwy:
import com.aspose.cells.foss.WorksheetCollection;
import com.aspose.cells.foss.Worksheet;
WorksheetCollection sheets = workbook.getWorksheets();
System.out.println("Sheet count: " + sheets.getCount());
// By index
Worksheet first = sheets.get(0);
System.out.println("First sheet: " + first.getName());
// By name
Worksheet named = sheets.get("Summary");Krok 5 — Odczyt wartości komórek
Gdy masz już Worksheet, użyj getCells(), aby uzyskać dostęp do pojedynczych komórek:
import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;
Cells cells = first.getCells();
// Read by cell name
Cell a1 = cells.get("A1");
System.out.println("A1 value: " + a1.getStringValue());
// Read by row/column index (0-based)
Cell b2 = cells.get(1, 1);
System.out.println("B2 value: " + b2.getValue());Krok 6 — Zwolnienie zasobów
Workbook implementuje AutoCloseable. W przypadku dużych plików użyj try-with-resources:
try (Workbook workbook = new Workbook("data/large.xlsx")) {
// read or modify the workbook
workbook.save("data/output.xlsx");
}
// workbook.close() is called automatically hereKolejne kroki
- Praca z zarządzaniem arkuszami kalkulacyjnymi — pełny przewodnik tworzenia/modyfikacji/zapisu
- Jak utworzyć skoroszyt Aspose.Cells FOSS — tworzenie skoroszytów od podstaw
- Jak pracować z walidacją — dodaj reguły walidacji danych