Incorporar dados visuais diretamente em arquivos Word pode transformar relatórios estáticos em apresentações atraentes. Conholdate.Total for Java oferece um SDK robusto que simplifica a criação e inserção de gráficos em documentos DOCX. Neste guia, vamos percorrer um exemplo completo e compilável que mostra como criar Gráficos em documentos Word usando Java, configurar o gráfico e salvar o resultado. Ao final, você será capaz de automatizar a geração de documentos com gráficos dinâmicos para qualquer cenário de relatórios empresariais.

Exemplo Completo de Funcionamento para Incorporar Gráficos em Documentos Word Usando Java

Este exemplo demonstra como criar um gráfico de colunas com cinco séries de dados e inseri‑lo em um documento do Word.

import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;
import com.aspose.words.ChartSeriesCollection;

public class CreateChartInWord {
    public static void main(String[] args) {
        // Create a document
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

// Add chart with default data. You can specify different chart types and sizes.
        Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);

// Chart property of Shape contains all chart related options.
        Chart chart = shape.getChart();

// Get chart series collection.
        ChartSeriesCollection seriesColl = chart.getSeries();
        // Check series count.
        System.out.println(seriesColl.getCount());

// Delete default generated series.
        seriesColl.clear();

// Create category names array, in this example we have two categories.
        String[] categories = new String[] { "AW Category 1", "AW Category 2" };

// Adding new series. Please note, data arrays must not be empty and arrays must be the same size.
        seriesColl.add("AW Series 1", categories, new double[] { 1, 2 });
        seriesColl.add("AW Series 2", categories, new double[] { 3, 4 });
        seriesColl.add("AW Series 3", categories, new double[] { 5, 6 });
        seriesColl.add("AW Series 4", categories, new double[] { 7, 8 });
        seriesColl.add("AW Series 5", categories, new double[] { 9, 10 });

// Save the document
        doc.save("ColumnsChart.docx");
    }
}

Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de que o caminho de saída (ColumnsChart.docx) aponta para um diretório gravável, verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Como criar gráficos em documentos Word usando Java funciona

O fluxo de trabalho pode ser dividido em cinco etapas claras:

  1. Criar um Document e DocumentBuilder - A classe Document representa o arquivo Word na memória, e DocumentBuilder fornece uma API fluente para inserir conteúdo, incluindo gráficos.

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
  2. Inserir uma forma de gráfico - insertChart recebe um ChartType (por exemplo, COLUMN) juntamente com uma largura e altura em pontos, e retorna um Shape que hospeda o gráfico na página.

Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
  1. Acessar o objeto Chart - A propriedade Chart do Shape expõe todas as opções relacionadas ao gráfico, incluindo sua coleção de séries.

    Chart chart = shape.getChart();
    ChartSeriesCollection seriesColl = chart.getSeries();
    System.out.println(seriesColl.getCount());
    

    Consulte a referência da API para obter detalhes completos sobre Chart, ChartSeriesCollection e enums relacionados.

  2. Limpar a série padrão e adicionar a sua própria - Um gráfico recém‑inserido já contém séries de espaço reservado, portanto clear() as remove antes de você adicionar categorias e dados com add(). Os arrays de categoria e valor passados para a mesma chamada add() devem ter o mesmo comprimento.

seriesColl.clear();

String[] categories = new String[] { "AW Category 1", "AW Category 2" };

seriesColl.add("AW Series 1", categories, new double[] { 1, 2 });
seriesColl.add("AW Series 2", categories, new double[] { 3, 4 });
  1. Salvar o documento - Finalmente, doc.save() grava o DOCX no disco.
doc.save("ColumnsChart.docx");

Compreender cada uma dessas etapas facilita a adaptação do exemplo para diferentes tipos de gráfico, fontes de dados ou modelos de documento.

Preparando o Ambiente

Adicione o repositório Maven da Conholdate e a dependência SDK ao seu pom.xml:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

Baixe o pacote SDK mais recente na página de download. A biblioteca requer Java 8 ou superior e funciona em qualquer JVM padrão. Nenhum componente de servidor adicional é necessário.

Ajuste Fino da Geração de Gráficos

Você pode ajustar várias propriedades para combinar com seu estilo visual:

  • Tipo de Gráfico - Altere ChartType.COLUMN para ChartType.BAR, ChartType.LINE, ChartType.PIE, ChartType.SCATTER e outros tipos suportados.

    Shape shape = builder.insertChart(ChartType.BAR, 432, 252);
    
  • Tamanho do Gráfico - O segundo e o terceiro argumentos de insertChart controlam a largura e a altura da forma do gráfico, em pontos.

    Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);
    
  • Categorias (rótulos dos eixos) - Crie um String[] com os nomes das categorias e reutilize‑o em todas as séries que compartilham as mesmas categorias.

    String[] categories = new String[] { "Jan", "Feb", "Mar" };
    
  • Séries de Dados - Chame seriesColl.add() com um nome de série, o array de categorias e um double[] de valores para adicionar quantas séries comparativas precisar.

seriesColl.add("2021", categories, new double[] { 200, 220, 250 });

Essas opções permitem que você ajuste o gráfico a qualquer requisito de relatório, mantendo o código conciso.

Inserindo um Gráfico de Dispersão em um Documento Word usando Java

Gráficos de dispersão plotam pares de valores numéricos X e Y em vez de categorias, o que os torna úteis para visualizar correlações ou distribuições. ChartSeriesCollection expõe uma sobrecarga de add() especificamente para esse propósito: em vez de um array de categorias, você passa dois arrays double[], um para os valores X e outro para os valores Y.

import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;

public class InsertScatterChart {
    public static void main(String[] args) {
        // Create a new document
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);

// Insert Scatter chart.
        Shape shape = builder.insertChart(ChartType.SCATTER, 432, 252);
        Chart chart = shape.getChart();

// Use this overload to add series to any type of Scatter charts.
        chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });

// Save the document
        doc.save("ScatterChart.docx");
    }
}

O fluxo geral espelha o exemplo de gráfico de colunas: crie um Document e DocumentBuilder, insira a forma de gráfico com ChartType.SCATTER, obtenha o Chart da forma e adicione uma ou mais séries. Como os gráficos de dispersão plotam pares de coordenadas X/Y, não há um array de categorias separado — cada ponto é definido por entradas correspondentes nos arrays de valores X e Y. Salve com doc.save() depois que todas as séries forem adicionadas.

Conclusão

Incorporar dados visuais diretamente em arquivos DOCX é uma maneira poderosa de aprimorar relatórios automatizados. Com Conholdate.Total for Java você pode criar gráficos em documentos Word usando Java em apenas algumas linhas de código — incluindo gráficos de colunas, barras, linhas, pizza e dispersão — personalizar categorias e séries, e gerar documentos com aparência profissional no lado do servidor. Lembre‑se de obter uma licença adequada para uso em produção; uma licença temporária está disponível na página de licença temporária, e os detalhes completos de preços podem ser consultados na página de preços. Comece a integrar a geração de gráficos hoje e ofereça aos seus usuários documentos orientados por dados que se destacam.

Perguntas Frequentes

  • Como posso criar Gráficos em Documentos Word usando Java com Conholdate.Total? Chame insertChart em um DocumentBuilder com o ChartType desejado, recupere o Chart a partir do Shape retornado, limpe a série padrão e adicione suas próprias categorias e dados com seriesColl.add(), então salve o documento. O código completo é mostrado no exemplo acima.

  • Quais tipos de gráfico são suportados? O SDK oferece suporte a colunas, barras, linhas, pizza, dispersão e muitos outros tipos de gráfico padrão por meio do enum ChartType. Altere o valor do enum passado para insertChart para mudar os tipos.

  • Como um gráfico de dispersão difere de um gráfico de colunas ou barras? Um gráfico de dispersão plota pares de valores numéricos X e Y em vez de categorias nomeadas, portanto você usa a sobrecarga add(name, xValues, yValues) de ChartSeriesCollection em vez de passar um array de categorias.

  • Preciso definir uma licença para geração de gráficos? Sim. Uma licença temporária pode ser obtida na página de licença temporária. Para projetos de longo prazo, adquira uma licença completa através da página de preços.

  • O SDK é compatível com builds Maven e Gradle? Absolutamente. Adicione o repositório Maven da Conholdate e a dependência conholdate-total ao seu arquivo de build conforme mostrado na seção de Configuração, e a biblioteca funciona tanto com Maven quanto com Gradle.

Leia Mais