Как парсить Excel с помощью GroupDocs.Parser для Java – Руководство
В современных приложениях, ориентированных на данные, как парсить Excel файлы эффективно может стать решающим фактором в рабочем процессе. Независимо от того, переносите ли вы устаревшие данные, генерируете автоматические отчёты или передаёте необработанный текст в аналитические конвейеры, извлечение неформатированного текста из каждого листа является распространённой задачей. Этот учебник проведёт вас через использование GroupDocs.Parser для Java для парсинга Excel‑файлов, чтения текста листов Excel и получения сырого контента с минимальным кодом.
Быстрые ответы
- Какая библиотека обрабатывает парсинг Excel в Java? GroupDocs.Parser for Java.
- Могу ли я извлечь сырой текст с каждого листа? Да, используя
TextReaderс включённым raw‑режимом. - Нужна ли лицензия? Доступна временная бесплатная лицензия для оценки.
- Какая версия Java требуется? JDK 8 или выше.
- Поддерживается ли Maven? Конечно – добавьте репозиторий и зависимость в
pom.xml.
Что означает «как парсить Excel» с GroupDocs.Parser?
Парсинг Excel с помощью GroupDocs.Parser означает программное открытие рабочей книги .xlsx (или другого поддерживаемого формата), перебор её листов и чтение простого текста без какого‑либо форматирования. Такой подход быстрее, чем загрузка полной рабочей книги в тяжёлый API электронных таблиц, и даёт прямой доступ к базовым символам.
Почему стоит использовать GroupDocs.Parser для Java?
- Скорость и низкое потребление памяти: Обрабатывает один лист за раз.
- Широкая поддержка форматов: Работает с XLSX, XLS, CSV и другими.
- Простой API: Достаточно нескольких строк кода, чтобы начать извлекать текст.
- Корпоративные лицензии: Бесплатная пробная версия, затем масштабируемые коммерческие варианты.
Предварительные требования
- Java Development Kit (JDK): 8 или новее.
- IDE: IntelliJ IDEA, Eclipse или любой совместимый с Java редактор.
- Maven (опционально): Для простого управления зависимостями.
Настройка GroupDocs.Parser для Java
Maven Setup
Если вы управляете зависимостями с помощью Maven, добавьте репозиторий и зависимость в ваш 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>
Direct Download
В качестве альтернативы скачайте последнюю версию GroupDocs.Parser для Java напрямую с GroupDocs releases.
License Acquisition
Чтобы начать с бесплатной пробной версии, посетите GroupDocs website и получите временную лицензию. Это позволяет оценить все возможности библиотеки перед покупкой производственной лицензии.
Basic Initialization and Setup
После того как библиотека добавлена в ваш classpath, вы можете создать экземпляр Parser, указывающий на ваш 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();
}
С готовой средой перейдём к реальной логике извлечения.
Как парсить Excel: извлечение сырого текста с листов
Шаг 1 – Получение информации о документе
Сначала получите метаданные о рабочей книге, такие как количество листов (сырых страниц).
IDocumentInfo spreadsheetInfo = parser.getDocumentInfo();
Шаг 2 – Перебор каждого листа и чтение текста
Итерируйте каждый лист и извлекайте сырой, неформатированный текст. Флаг TextOptions(true) включает 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
}
}
Обработка извлечённых данных
На данном этапе sheetContent содержит простой текст текущего листа. Вы можете:
- Записать его в файл
.txtдля архивации. - Передать его в конвейер обработки естественного языка.
- Сохранить в базе данных для последующего запроса.
Распространённые проблемы и решения
| Проблема | Почему происходит | Решение |
|---|---|---|
| Файл не найден | Неправильный excelFilePath. | Проверьте путь и убедитесь, что файл доступен для чтения. |
| Неподдерживаемый формат | Используется старый файл XLS с более новой версией парсера. | Конвертируйте файл в XLSX или обновите до последней версии GroupDocs.Parser. |
| Ошибки out‑of‑memory при больших рабочих книгах | Загрузка всех листов одновременно. | Обрабатывайте один лист за раз (как показано) и своевременно освобождайте ресурсы. |
| Исключение лицензии | Срок пробной версии истёк или отсутствует файл лицензии. | Примените действующую временную или приобретённую лицензию перед парсингом. |
Практические применения (чтение текста листов Excel)
- Миграция данных: Перенести устаревшие данные из таблиц в современные базы данных без ручного копирования.
- Автоматизированная отчетность: Извлекать сырые значения из нескольких книг для создания объединённых PDF или HTML отчётов.
- Индексация поиска: Индексировать извлечённый текст в Elasticsearch для быстрого поиска контента.
Советы по производительности для больших Excel‑файлов
- Поток на лист: Цикл уже обрабатывает один лист за раз, поддерживая низкое потребление памяти.
- Повторное использование объектов
TextReader: Избегайте создания лишних объектов внутри плотных циклов. - Параллельная обработка: Для очень больших книг рассмотрите обработку листов в отдельных потоках, но учитывайте потокобезопасность экземпляра
Parser.
Часто задаваемые вопросы
В: Какие другие форматы электронных таблиц поддерживает GroupDocs.Parser?
О: Он работает с XLSX, XLS, CSV и другими форматами Office Open XML.
В: Могу ли я также извлечь информацию о форматировании ячеек?
О: Да, используя TextOptions без raw‑флага, можно получить отформатированный текст.
В: Как работать с защищёнными паролем Excel‑файлами?
О: Передайте пароль в конструктор Parser: new Parser(filePath, "password").
В: Есть ли способ извлечь только определённые столбцы?
О: Вы можете пост‑обработать sheetContent, отфильтровать строки, либо использовать API SpreadsheetOptions для более точного контроля.
В: Где найти больше примеров кода?
О: Посмотрите документацию GroupDocs и репозиторий на GitHub для дополнительных примеров.
Ресурсы
- Документация: GroupDocs Parser Java Docs
- Справочник API: API Reference
- Скачать: Latest Releases
- Репозиторий GitHub: GroupDocs.Parser on GitHub
- Бесплатный форум поддержки: GroupDocs Parser Forum
- Временная лицензия: Obtain a Temporary License
Последнее обновление: 2026-02-14
Тестировано с: GroupDocs.Parser 25.5 for Java
Автор: GroupDocs