Como visualizar arquivos Excel com GroupDocs.Parser em Java

Se você está procurando como preview Excel planilhas programaticamente, chegou ao lugar certo. Neste guia, vamos percorrer a criação de visualizações de imagem (PNG) a partir de livros de trabalho .xlsx usando GroupDocs.Parser para Java — perfeito para gerar miniaturas rápidas, compartilhar capturas de tela ou construir um recurso de visualização de documentos em sua aplicação.

Respostas rápidas

  • O que significa “preview Excel”? Gerar arquivos de imagem (por exemplo, PNG) que representam cada página da planilha.
  • Qual formato é recomendado? PNG oferece qualidade sem perdas e funciona bem para miniaturas da web.
  • Preciso de uma licença? Um teste gratuito funciona para desenvolvimento; uma licença comercial é necessária para produção.
  • Posso alterar a resolução da imagem? Sim — ajuste o DPI em PreviewOptions.
  • É possível visualizar outros formatos? GroupDocs.Parser também suporta PDF, Word e muitos tipos de imagem.

O que é “como preview Excel” com GroupDocs.Parser?

GroupDocs.Parser lê livros de trabalho Excel, renderiza cada planilha como uma página visual e permite que você transmita essas páginas para arquivos de imagem. Isso elimina a necessidade de interoperação com o Office ou conversores de terceiros.

Por que usar GroupDocs.Parser para visualizações de Excel?

  • Sem necessidade de instalação do Office – funciona em qualquer ambiente Java server‑side.
  • Suporta arquivos grandes – transmite páginas uma a uma, mantendo o uso de memória baixo.
  • Saída de alta qualidade – controle sobre DPI, formato e opções de renderização.
  • Flexibilidade entre formatos – a mesma API funciona para PDFs, documentos Word e mais.

Pré-requisitos

  • Java Development Kit (8 +).
  • IDE such as IntelliJ IDEA or Eclipse.
  • GroupDocs.Parser for Java SDK – download from here.
  • Sample Excel file (.xlsx) you want to preview.
  • Maven or Gradle (optional) for dependency management.

Importar Pacotes

Essas importações dão acesso ao parser, opções de visualização e utilitários de manipulação de streams.

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;

Guia passo a passo para gerar visualizações de páginas de planilha

Etapa 1: Inicializar a instância do Parser

Crie um objeto Parser apontando para o seu livro de trabalho Excel. O bloco try‑with‑resources garante que o parser seja fechado automaticamente.

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

Dica profissional: Use um caminho absoluto ou configure uma pasta de recursos para evitar FileNotFoundException.

Etapa 2: Preparar suas opções de visualização

Defina como cada página será salva. A implementação ICreatePageStream retorna um novo FileOutputStream para cada página da planilha.

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);
        }
    }
});

Esta etapa é onde você converte xlsx para png — o stream grava os dados PNG no disco.

Etapa 3: Anexar um delegate para capturar informações de renderização

Se precisar de detalhes sobre cada planilha renderizada (por exemplo, dimensões, nome da planilha), registre um callback.

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

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

Etapa 4: Especificar o formato de saída e DPI

Selecione PNG como formato de imagem e defina um DPI que equilibre qualidade e tamanho do arquivo.

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

Ajuste o DPI se precisar de miniaturas menores (por exemplo, 96) ou impressões de alta resolução (por exemplo, 300).

Etapa 5: Gerar as visualizações

Com tudo configurado, chame generatePreview. O SDK iterará sobre cada planilha e invocará o stream que você forneceu.

parser.generatePreview(previewOptions);

Etapa 6: Definir o helper getOutputPath()

Este método cria um nome de arquivo baseado no número da página (planilha). Sinta-se à vontade para personalizar a estrutura de pastas.

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

Erro comum: Esquecer de criar o diretório output previamente causará um IOException. Crie-o programaticamente ou certifique-se de que ele exista.

Exemplo completo em funcionamento (Simplificado)

Abaixo está uma versão compacta que reúne todas as partes. Ela demonstra o fluxo de trabalho create excel page preview do início ao fim.

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();
}

Execute este trecho, e você encontrará uma série de arquivos preview_page_1.png, preview_page_2.png, … na pasta output — cada um representando uma planilha do livro de trabalho Excel original.

Problemas comuns e soluções

ProblemaCausaCorreção
Nenhuma imagem geradagetOutputPath retorna um diretório inválidoCertifique-se de que a pasta de destino exista ou crie-a com new File("output").mkdirs();
Erro de falta de memória em arquivos enormesCarregando todo o livro de trabalho de uma vezUse a abordagem de streaming (como mostrado) e processe as páginas uma de cada vez
DPI incorretosetDpi não chamado ou definido como padrão (96)Chame previewOptions.setDpi(seuValorDesejado); antes de generatePreview
Formato não suportadoTentando visualizar um .xlsx corrompidoValide o arquivo com o Excel ou use Parser.isSupported antes do processamento

Perguntas Frequentes

Q: Posso gerar visualizações para PDFs e imagens usando GroupDocs.Parser?
A: Sim, a mesma API funciona para PDFs, documentos Word e muitos formatos de imagem.

Q: Como altero o formato da imagem de saída?
A: Chame previewOptions.setPreviewFormat(PreviewFormats.Jpeg) (ou Gif, Bmp, etc.).

Q: O desempenho é uma preocupação com livros de trabalho muito grandes?
A: O SDK transmite páginas, o que mantém o uso de memória baixo. Para arquivos massivos, considere processar em lotes paralelos.

Q: Como posso lidar com erros durante a geração de visualizações?
A: Envolva o código em blocos try‑catch (como mostrado) e registre os detalhes da exceção. Certifique‑se de que os streams sejam fechados no bloco finally se não estiver usando try‑with‑resources.

Q: A biblioteca requer que o Microsoft Office esteja instalado?
A: Não. GroupDocs.Parser é uma solução Java pura e funciona em qualquer plataforma que suporte Java 8+.

Conclusão

Agora você tem um método completo e pronto para produção para how to preview Excel workbooks e convert xlsx to png usando GroupDocs.Parser. Ajuste o DPI, a pasta de saída ou o formato da imagem para atender às necessidades do seu projeto, e integre este trecho em fluxos de trabalho maiores de gerenciamento de documentos.

Pronto para o próximo passo? Explore a documentação oficial para opções avançadas de renderização, arquivos protegidos por senha e técnicas de processamento em lote.


Última atualização: 2026-02-06
Testado com: GroupDocs.Parser 23.11 (mais recente no momento da escrita)
Autor: GroupDocs