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 TextReader z 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 .txt w celach archiwizacji.
  • Przekazać go do potoku przetwarzania języka naturalnego.
  • Zapisz go w bazie danych do późniejszych zapytań.

Typowe problemy i rozwiązania

ProblemDlaczego się pojawiaRozwiązanie
Plik nie znalezionyNieprawidłowa ścieżka excelFilePath.Sprawdź ścieżkę i upewnij się, że plik jest czytelny.
Nieobsługiwany formatUż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 licencyjnyWersja próbna wygasła lub brak pliku licencji.Zastosuj ważną tymczasową lub zakupioną licencję przed parsowaniem.

Praktyczne zastosowania (odczyt tekstu z arkuszy Excel)

  1. Migracja danych: Przenieś dane ze starszych arkuszy kalkulacyjnych do nowoczesnych baz danych bez ręcznego kopiowania.
  2. Automatyczne raportowanie: Pobierz surowe wartości z wielu skoroszytów, aby generować skonsolidowane raporty PDF lub HTML.
  3. 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

Ostatnia aktualizacja: 2026-09-27
Testowano z: GroupDocs.Parser 25.5 for Java
Autor: GroupDocs

Powiązane samouczki