Создать миниатюру таблицы Java с использованием GroupDocs.Parser

Если вы ищете программы create spreadsheet thumbnail Java, вы попали в нужное место. В этом руководстве мы пройдем процесс создания высококачественных PNG‑превью из рабочих книг .xlsx с помощью GroupDocs.Parser для Java — идеально для быстрых миниатюр, обмена снимками или построения функции предварительного просмотра документов в вашем приложении. Решение работает без установки Microsoft Office и масштабируется для больших рабочих книг, при этом потребление памяти остается низким.

Быстрые ответы

  • What does “preview Excel” mean? Генерация файлов изображений (например, PNG), представляющих каждую страницу листа.
  • Which format is recommended? PNG обеспечивает без потерь качество и хорошо подходит для веб‑миниатюр.
  • Do I need a license? Бесплатная пробная версия подходит для разработки; коммерческая лицензия требуется для продакшна.
  • Can I change the image resolution? Да — настройте DPI в PreviewOptions.
  • Is it possible to preview other formats? GroupDocs.Parser также поддерживает PDF, Word и многие типы изображений.

Что такое “how to preview Excel” с GroupDocs.Parser?

Загрузите вашу рабочую книгу Excel и отобразите каждый лист как PNG‑изображение без необходимости установки Microsoft Office. GroupDocs.Parser передаёт страницы по одной, создавая безпотерьные миниатюры, которые можно сохранить на диск или вернуть через HTTP, что делает его идеальным для веб‑ориентированных сервисов предварительного просмотра.

GroupDocs.Parser читает рабочие книги Excel, рендерит каждый лист как визуальную страницу и позволяет передавать эти страницы в файлы изображений. Это устраняет необходимость в Office‑interop или сторонних конвертерах.

Почему использовать GroupDocs.Parser для предварительного просмотра Excel?

Вам следует использовать GroupDocs.Parser, потому что он работает на любом сервере Java, не требует установки Office, обрабатывает большие рабочие книги с низким потреблением памяти и создает безпотерьные PNG‑изображения с настраиваемым DPI. SDK поддерживает 100+ input and output formats, может обработать рабочую книгу в 200 листов менее чем за 3 секунды и удерживает использование памяти ниже 50 МБ на лист.

  • No Office installation required – работает в любой серверной среде Java.
  • Supports large files – передаёт страницы по одной, поддерживая низкое потребление памяти.
  • High‑quality output – контроль над DPI, форматом и параметрами рендеринга.
  • Cross‑format flexibility – тот же API работает с PDF, Word‑документами и другими форматами.

Предварительные требования

  • Java Development Kit (8 +).
  • IDE such as IntelliJ IDEA or Eclipse.
  • GroupDocs.Parser for Java SDK – загрузите с here.
  • Documentation – см. официальную documentation.
  • Sample Excel file (.xlsx) который вы хотите просмотреть.
  • Maven or Gradle (optional) для управления зависимостями.

Импорт пакетов

Эти импорты предоставляют доступ к парсеру, параметрам предварительного просмотра и утилитам обработки потоков.

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PreviewOptions;
import com.groupdocs.parser.options.PreviewFormats;
import com.groupdocs.parser.options.ICreatePageStream;
import com.groupdocs.parser.options.IPreviewPageRender;
import com.groupdocs.parser.results.PageRenderInfo;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.IOException;

Пошаговое руководство по генерации превью страниц таблицы

Шаг 1: Инициализировать экземпляр Parser

Parser — основной класс GroupDocs.Parser, предоставляющий доступ для чтения файлов таблиц и позволяющий рендеринг постранично.
Создайте объект Parser, указывающий на вашу рабочую книгу Excel. Блок try‑with‑resources гарантирует автоматическое закрытие парсера.

try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
    // Your subsequent code will go here
}

Pro tip: Используйте абсолютный путь или настройте папку ресурсов, чтобы избежать FileNotFoundException.

Шаг 2: Подготовить параметры предварительного просмотра

PreviewOptions настраивает параметры рендеринга, такие как формат вывода и DPI.
ICreatePageStream — интерфейс обратного вызова, предоставляющий поток вывода для каждой сгенерированной страницы. Определите, как будет сохраняться каждая страница. Реализация ICreatePageStream возвращает новый FileOutputStream для каждой страницы листа.

PreviewOptions previewOptions = new PreviewOptions(new ICreatePageStream() {
    @Override
    public OutputStream createPageStream(int pageNumber) {
        try {
            String outputPath = getOutputPath(pageNumber); // define this method later
            return new FileOutputStream(outputPath);
        } catch (IOException ex) {
            throw new RuntimeException("Error creating output stream", ex);
        }
    }
});

Этот шаг — где вы convert xlsx to png — поток записывает данные PNG на диск.

Шаг 3: Присоединить делегат для захвата информации о рендере

Если вам нужны детали о каждом отрендеренном листе (например, размеры, имя листа), зарегистрируйте обратный вызов.

final PageRenderInfo[] renderInfoHolder = {null}; // to store info

previewOptions.setPreviewPageRender(new IPreviewPageRender() {
    @Override
    public void previewPageRender(PageRenderInfo pageRenderInfo) {
        renderInfoHolder[0] = pageRenderInfo;
    }
});

Шаг 4: Указать формат вывода и DPI

Выберите PNG в качестве формата изображения и задайте DPI, который балансирует качество и размер файла.

previewOptions.setPreviewFormat(PreviewFormats.Png); // PNG images
previewOptions.setDpi(150); // Higher DPI for better clarity

Настройте DPI, если вам нужны более мелкие миниатюры (например, 96) или печать высокого разрешения (например, 300).

Шаг 5: Сгенерировать превью

После настройки вызовите generatePreview. SDK пройдёт по каждому листу и вызовет предоставленный вами поток.

parser.generatePreview(previewOptions);

Шаг 6: Определить вспомогательный метод getOutputPath()

getOutputPath() формирует имя файла на основе номера страницы (листа) и возвращает полный путь к выходному изображению. Не стесняйтесь настраивать структуру папок.

private static String getOutputPath(int pageNumber) {
    return "output/preview_page_" + pageNumber + ".png"; // Custom path
}

Common pitfall: Если забыть создать каталог output заранее, возникнет IOException. Создайте его программно или убедитесь, что он существует.

Полный рабочий пример (упрощённый)

Ниже представлена компактная версия, объединяющая все части. Она демонстрирует процесс create spreadsheet thumbnail Java от начала до конца.

try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
    final PageRenderInfo[] renderInfoHolder = {null};

    PreviewOptions options = new PreviewOptions(new ICreatePageStream() {
        @Override
        public OutputStream createPageStream(int pageNumber) {
            try {
                return new FileOutputStream(getOutputPath(pageNumber));
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    });

    options.setPreviewPageRender(pageRenderInfo -> {
        renderInfoHolder[0] = pageRenderInfo;
    });
    options.setPreviewFormat(PreviewFormats.Png);
    options.setDpi(150);

    parser.generatePreview(options);
} catch (Exception e) {
    e.printStackTrace();
}

Запустите этот фрагмент, и вы найдете серию файлов preview_page_1.png, preview_page_2.png, … в папке output — каждый представляет лист из исходной рабочей книги Excel.

Распространённые проблемы и решения

ПроблемаПричинаРешение
Нет сгенерированных изображенийgetOutputPath возвращает недействительный каталогУбедитесь, что целевая папка существует, или создайте её с помощью new File("output").mkdirs();
Ошибка Out‑of‑memory при больших файлахЗагрузка всей рабочей книги сразуИспользуйте потоковый подход (как показано) и обрабатывайте страницы по одной
Неправильный DPIsetDpi не вызван или установлен по умолчанию (96)Вызовите previewOptions.setDpi(yourDesiredValue); перед generatePreview
Неподдерживаемый форматПопытка предварительного просмотра повреждённого .xlsxПроверьте файл в Excel или используйте Parser.isSupported перед обработкой

Часто задаваемые вопросы

Q: Могу ли я генерировать превью для PDF и изображений с помощью GroupDocs.Parser?
A: Да, тот же API работает с PDF, Word‑документами и многими форматами изображений.

Q: Как изменить формат выходного изображения?
A: Вызовите previewOptions.setPreviewFormat(PreviewFormats.Jpeg) (или Gif, Bmp и т.д.).

Q: Является ли производительность проблемой при очень больших рабочих книгах?
A: SDK передаёт страницы потоково, что сохраняет низкое потребление памяти. Для огромных файлов рассмотрите обработку параллельными пакетами.

Q: Как обрабатывать ошибки во время генерации превью?
A: Оберните код в блоки try‑catch (как показано) и журналируйте детали исключения. Убедитесь, что потоки закрыты в блоке finally, если вы не используете try‑with‑resources.

Q: Требует ли библиотека установки Microsoft Office?
A: Нет. GroupDocs.Parser — чистое Java‑решение и работает на любой платформе, поддерживающей Java 8+.


Последнее обновление: 2026-07-16
Тестировано с: GroupDocs.Parser 23.11 (последняя версия на момент написания)
Автор: GroupDocs

Связанные руководства