Incrustar datos visuales directamente en archivos Word puede convertir informes estáticos en presentaciones atractivas. Conholdate.Total for Java proporciona un SDK robusto que simplifica la creación e inserción de gráficos en documentos DOCX. En esta guía le guiaremos a través de un ejemplo completo y compilable que muestra cómo crear gráficos en documentos Word usando Java, configurar el gráfico y guardar el resultado. Al final podrá automatizar la generación de documentos con gráficos dinámicos para cualquier escenario de informes empresariales.

Ejemplo completo y funcional para incrustar gráficos en documentos Word usando Java

Este ejemplo muestra cómo crear un gráfico de columnas con cinco series de datos e insertarlo en un documento de 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 ejemplo de código demuestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de que la ruta de salida (ColumnsChart.docx) apunte a un directorio con permisos de escritura, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la documentación oficial o póngase en contacto con el equipo de soporte para obtener ayuda.

Cómo crear gráficos en documentos de Word usando Java

El flujo de trabajo se puede dividir en cinco pasos claros:

  1. Crear un Document y DocumentBuilder - La clase Document representa el archivo Word en memoria, y DocumentBuilder le brinda una API fluida para insertar contenido, incluidos gráficos.

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
  2. Insertar una forma de gráfico - insertChart toma un ChartType (p. ej., COLUMN) junto con un ancho y una altura en puntos, y devuelve un Shape que aloja el gráfico en la página.

    Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
    
  3. Acceder al objeto Chart - La propiedad Chart del Shape expone todas las opciones relacionadas con el gráfico, incluida su colección de series.

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

Consulte la referencia de API para obtener todos los detalles sobre Chart, ChartSeriesCollection y los enums relacionados.

  1. Borrar la serie predeterminada y agregar la suya - Un gráfico recién insertado ya contiene series de marcador de posición, por lo que clear() las elimina antes de que agregues categorías y datos con add(). Los arreglos de categorías y valores pasados a la misma llamada add() deben tener la misma longitud.
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. Guardar el documento - Finalmente, doc.save() escribe el DOCX en el disco.
doc.save("ColumnsChart.docx");

Comprender cada uno de estos pasos facilita adaptar el ejemplo a diferentes tipos de gráficos, fuentes de datos o plantillas de documentos.

Preparando el Entorno

Agregue el repositorio Maven de Conholdate y la dependencia del SDK a su 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>

Descargue el paquete SDK más reciente desde la página de descarga. La biblioteca requiere Java 8 o superior y se ejecuta en cualquier JVM estándar. No se necesitan componentes de servidor adicionales.

Ajuste fino de la generación de gráficos

Puede ajustar varias propiedades para que coincidan con su estilo visual:

  • Tipo de gráfico - Cambie ChartType.COLUMN a ChartType.BAR, ChartType.LINE, ChartType.PIE, ChartType.SCATTER, y otros tipos compatibles.

    Shape shape = builder.insertChart(ChartType.BAR, 432, 252);
    
  • Tamaño del gráfico - Los segundos y terceros argumentos de insertChart controlan el ancho y la altura de la forma del gráfico, en puntos.

    Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);
    
  • Categorías (etiquetas del eje) - Construya un String[] de nombres de categorías y reutilícelo en cada serie que comparta las mismas categorías.

    String[] categories = new String[] { "Jan", "Feb", "Mar" };
    
  • Series de datos - Llame a seriesColl.add() con un nombre de serie, el arreglo de categorías y un double[] de valores para agregar tantas series comparativas como necesite.

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

Estas opciones le permiten adaptar el gráfico a cualquier requisito de informe mientras mantiene el código conciso.

Insertar un gráfico de dispersión en un documento de Word usando Java

Los gráficos de dispersión trazan pares de valores numéricos X e Y en lugar de categorías, lo que los hace útiles para visualizar correlaciones o distribuciones. ChartSeriesCollection expone una sobrecarga de add() específicamente para este propósito: en lugar de una matriz de categorías, se pasan dos matrices double[], una para los valores X y otra para los 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");
    }
}

El flujo general refleja el ejemplo del gráfico de columnas: cree un Document y DocumentBuilder, inserte la forma del gráfico con ChartType.SCATTER, obtenga el Chart de la forma y añada una o más series. Dado que los gráficos de dispersión trazan pares de coordenadas X/Y, no hay un array de categorías separado — cada punto se define mediante entradas coincidentes en los arrays de valores X e Y. Guarde con doc.save() una vez que se hayan añadido todas las series.

Conclusión

Incrustar datos visuales directamente en archivos DOCX es una forma poderosa de mejorar los informes automatizados. Con Conholdate.Total for Java puedes crear Charts en documentos Word usando Java en solo unas pocas líneas de código — incluyendo column, bar, line, pie y scatter charts — personalizar categorías y series, y generar documentos de aspecto profesional en el lado del servidor. Recuerda obtener una licencia adecuada para uso en producción; una licencia temporal está disponible en la temporary license page, y los detalles completos de precios pueden revisarse en la pricing page. Comienza a integrar la generación de gráficos hoy y brinda a tus usuarios documentos impulsados por datos que destacan.

FAQs

  • ¿Cómo puedo crear gráficos en documentos de Word usando Java con Conholdate.Total? Llame a insertChart en un DocumentBuilder con el ChartType deseado, recupere el Chart del Shape devuelto, elimine la serie predeterminada y agregue sus propias categorías y datos con seriesColl.add(), luego guarde el documento. El código completo se muestra en el ejemplo anterior.

  • ¿Qué tipos de gráficos son compatibles? El SDK admite columnas, barras, líneas, sectores, dispersión y muchos otros tipos de gráficos estándar mediante el enumerado ChartType. Cambie el valor del enumerado pasado a insertChart para cambiar los tipos.

  • ¿En qué se diferencia un gráfico de dispersión de un gráfico de columnas o de barras? Un gráfico de dispersión traza pares de valores numéricos X e Y en lugar de categorías con nombre, por lo que utilizas la sobrecarga add(name, xValues, yValues) de ChartSeriesCollection en lugar de pasar una matriz de categorías.

  • ¿Necesito establecer una licencia para la generación de gráficos? Sí. Se puede obtener una licencia temporal en la página de licencia temporal. Para proyectos a largo plazo, compre una licencia completa a través de la página de precios.

  • ¿Es compatible el SDK con compilaciones Maven y Gradle? Absolutamente. Añada el repositorio Maven de Conholdate y la dependencia conholdate-total a su archivo de compilación como se muestra en la sección de Configuración, y la biblioteca funciona con Maven y Gradle.

Leer más