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:
Criar um Document e DocumentBuilder - A classe
Documentrepresenta o arquivo Word na memória, eDocumentBuilderfornece uma API fluente para inserir conteúdo, incluindo gráficos.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc);Inserir uma forma de gráfico -
insertChartrecebe umChartType(por exemplo,COLUMN) juntamente com uma largura e altura em pontos, e retorna umShapeque hospeda o gráfico na página.
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
Acessar o objeto Chart - A propriedade
ChartdoShapeexpõ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,ChartSeriesCollectione enums relacionados.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 comadd(). Os arrays de categoria e valor passados para a mesma chamadaadd()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 });
- 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.COLUMNparaChartType.BAR,ChartType.LINE,ChartType.PIE,ChartType.SCATTERe outros tipos suportados.Shape shape = builder.insertChart(ChartType.BAR, 432, 252);Tamanho do Gráfico - O segundo e o terceiro argumentos de
insertChartcontrolam 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 umdouble[]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
insertChartem umDocumentBuildercom oChartTypedesejado, recupere oCharta partir doShaperetornado, limpe a série padrão e adicione suas próprias categorias e dados comseriesColl.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 parainsertChartpara 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)deChartSeriesCollectionem 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-totalao seu arquivo de build conforme mostrado na seção de Configuração, e a biblioteca funciona tanto com Maven quanto com Gradle.
