Jak używać biblioteki do parsowania plików Excel w Javie z GroupDocs.Parser
W nowoczesnych aplikacjach opartych na danych, jak parsować Excel efektywnie może decydować o sukcesie lub niepowodzeniu procesu. Niezależnie od tego, czy migrujesz starsze dane, generujesz automatyczne raporty, czy wprowadzisz surowy tekst do potoków analitycznych, wyodrębnianie niesformatowanego tekstu z każdego arkusza jest powszechnym wymaganiem. Ten samouczek pokazuje, jak używać biblioteki do parsowania plików Excel w Javie — GroupDocs.Parser for Java — aby otworzyć skoroszyt Excel, iterować po jego arkuszach i pobrać surową zawartość w kilku linijkach kodu.
Szybkie odpowiedzi
- Jaką bibliotekę obsługuje parsowanie Excel w Javie? GroupDocs.Parser for Java.
- Czy mogę wyodrębnić surowy tekst z każdego arkusza? Tak, używając
TextReaderz włączonym trybem raw. - Czy potrzebna jest licencja? Dostępna jest tymczasowa darmowa licencja do oceny.
- Jaka wersja Javy jest wymagana? JDK 8 lub wyższa.
- Czy Maven jest obsługiwany? Zdecydowanie – dodaj repozytorium i zależność do
pom.xml.
Czym jest biblioteka do parsowania plików Excel w Javie?
GroupDocs.Parser for Java jest biblioteką do parsowania plików Excel w Javie, która programowo otwiera skoroszyty .xlsx, .xls lub CSV i odczytuje czysty tekst bez ładowania całego arkusza do pamięci. To podejście jest szybsze niż tradycyjne API arkuszy kalkulacyjnych i zapewnia bezpośredni dostęp do podstawowych znaków.
Dlaczego używać GroupDocs.Parser for Java?
GroupDocs.Parser przetwarza jeden arkusz naraz, utrzymując zużycie pamięci poniżej 10 MB nawet przy skoroszytach o 500 stronach. Obsługuje ponad 10 formatów wejścia i wyjścia — w tym XLSX, XLS, CSV i ODS — więc pojedyncze API może obsłużyć wiele typów arkuszy kalkulacyjnych. Proste, płynne metody pozwalają rozpocząć wyodrębnianie tekstu w ciągu kilku minut, a model licencjonowania skaluje się od wersji próbnej do produkcyjnej bez zmian w kodzie.
Wymagania wstępne
- Java Development Kit (JDK): 8 lub nowszy.
- IDE: IntelliJ IDEA, Eclipse lub dowolny edytor kompatybilny z Javą.
- Maven (opcjonalnie): Dla łatwego zarządzania zależnościami.
Konfiguracja GroupDocs.Parser dla Javy
Konfiguracja Maven
Jeśli zarządzasz zależnościami przy pomocy Maven, dodaj repozytorium i zależność do swojego pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
Bezpośrednie pobranie
Alternatywnie, pobierz najnowszą wersję GroupDocs.Parser for Java bezpośrednio z GroupDocs releases.
Uzyskanie licencji
Aby rozpocząć darmową wersję próbną, odwiedź GroupDocs website i uzyskaj tymczasową licencję. Pozwala to ocenić pełne możliwości biblioteki przed zakupem licencji produkcyjnej.
Podstawowa inicjalizacja i konfiguracja
GroupDocs.Parser jest klasą rdzeniową reprezentującą parser dokumentów. Po dodaniu biblioteki do classpath, możesz utworzyć instancję Parser, która wskazuje na Twój skoroszyt Excel:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.IDocumentInfo;
import com.groupdocs.parser.options.TextOptions;
String excelFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.xlsx";
try (Parser parser = new Parser(excelFilePath)) {
// Your code to work with the document
} catch (Exception e) {
e.printStackTrace();
}
Po przygotowaniu środowiska, przejdźmy do właściwej logiki wyodrębniania.
Jak parsować Excel: wyodrębnić surowy tekst z arkuszy
Załaduj swój skoroszyt i pobierz surowy tekst w dwóch prostych krokach. Najpierw uzyskaj podstawowe informacje o dokumencie, takie jak nazwy arkuszy i ich wymiary. Następnie iteruj po każdym arkuszu używając TextReader skonfigurowanego z TextOptions(true), aby włączyć tryb raw, który zwraca czyste znaki bez tagów formatowania.
TextReader odczytuje tekst z dokumentu, opcjonalnie w trybie raw.
IDocumentInfo spreadsheetInfo = parser.getDocumentInfo();
Następnie iteruj po każdym arkuszu i pobierz niesformatowany tekst. Flaga TextOptions(true) włącza tryb raw, zwracając czyste znaki bez tagów stylizacji.
TextOptions konfiguruje zachowanie wyodrębniania tekstu, z flagą boolean włączającą tryb raw.
for (int p = 0; p < spreadsheetInfo.getRawPageCount(); p++) {
try (TextReader reader = parser.getText(p, new TextOptions(true))) {
String sheetContent = reader.readToEnd();
// Process or use extracted text data here
}
}
Przetwarzanie wyodrębnionych danych
W tym momencie sheetContent zawiera czysty tekst bieżącego arkusza. Możesz:
- Zapisz go do pliku
.txtw celach archiwizacji. - Przekazać go do potoku przetwarzania języka naturalnego.
- Zapisz go w bazie danych do późniejszych zapytań.
Typowe problemy i rozwiązania
| Problem | Dlaczego się pojawia | Rozwiązanie |
|---|---|---|
| Plik nie znaleziony | Nieprawidłowa ścieżka excelFilePath. | Sprawdź ścieżkę i upewnij się, że plik jest czytelny. |
| Nieobsługiwany format | Używanie starszego pliku XLS z nowszą wersją parsera. | Konwertuj plik do XLSX lub zaktualizuj do najnowszej wersji GroupDocs.Parser. |
| Błędy pamięci przy dużych skoroszytach | Ładowanie wszystkich arkuszy jednocześnie. | Przetwarzaj jeden arkusz na raz (jak pokazano) i szybko zwalniaj zasoby. |
| Wyjątek licencyjny | Wersja próbna wygasła lub brak pliku licencji. | Zastosuj ważną tymczasową lub zakupioną licencję przed parsowaniem. |
Praktyczne zastosowania (odczyt tekstu z arkuszy Excel)
- Migracja danych: Przenieś dane ze starszych arkuszy kalkulacyjnych do nowoczesnych baz danych bez ręcznego kopiowania.
- Automatyczne raportowanie: Pobierz surowe wartości z wielu skoroszytów, aby generować skonsolidowane raporty PDF lub HTML.
- Indeksowanie wyszukiwania: Zindeksuj wyodrębniony tekst w Elasticsearch, aby szybko odnajdywać treści.
Wskazówki dotyczące wydajności przy dużych plikach Excel
- Strumieniowanie per arkusz: Pętla już przetwarza jeden arkusz na raz, utrzymując niskie zużycie pamięci.
- Ponowne użycie obiektów
TextReader: Unikaj tworzenia niepotrzebnych obiektów w ciasnych pętlach. - Przetwarzanie równoległe: W przypadku bardzo dużych skoroszytów rozważ przetwarzanie arkuszy w osobnych wątkach, ale pamiętaj o bezpieczeństwie wątków przy użyciu instancji
Parser.
Najczęściej zadawane pytania
Q: Jakie inne formaty arkuszy kalkulacyjnych obsługuje GroupDocs.Parser?
A: Obsługuje XLSX, XLS, CSV, ODS oraz inne formaty Office Open XML — ponad 10 formatów łącznie.
Q: Czy mogę wyodrębnić także informacje o formatowaniu komórek?
A: Tak, używając TextOptions bez flagi raw, możesz uzyskać sformatowany tekst zachowujący podstawowe style.
Q: Jak obsłużyć pliki Excel chronione hasłem?
A: Przekaż hasło do konstruktora Parser: new Parser(filePath, "password").
Q: Czy istnieje sposób na wyodrębnienie tylko wybranych kolumn?
A: Możesz przetworzyć sheetContent, aby filtrować wiersze, lub użyć API SpreadsheetOptions dla bardziej szczegółowej kontroli.
Q: Gdzie mogę znaleźć więcej przykładów kodu?
A: Sprawdź GroupDocs documentation oraz repozytorium GitHub, aby uzyskać dodatkowe przykłady.
Zasoby
- Przegląd dokumentacji: GroupDocs documentation
- Dokumentacja: GroupDocs Parser Java Docs
- Referencja API: API Reference
- Pobieranie: Latest Releases
- Repozytorium GitHub: GroupDocs.Parser on GitHub
- Bezpłatne forum wsparcia: GroupDocs Parser Forum
- Tymczasowa licencja: Obtain a Temporary License
Ostatnia aktualizacja: 2026-09-27
Testowano z: GroupDocs.Parser 25.5 for Java
Autor: GroupDocs