Cree un documento de tabla simple con el kit de herramientas ODF

Si tiene la tarea de hacer un par de informes simples, y sus usuarios usan Open Office, entonces no necesita usar sistemas de informes grandes como Bird, Jasper o sus análogos.

El kit de herramientas ODF es ideal para esta tarea.

ODF Toolkit , según la información del sitio web oficial, es un conjunto de módulos Java que le permiten crear, escanear o manipular documentos en el formato de un documento abierto (ISO / IEC 26300 == ODF). A diferencia de otros enfoques, que se basan en manipulaciones en tiempo de ejecución con editores pesados ​​a través de la interfaz de automatización, ODF Toolkit es liviano e ideal para el uso del servidor.

imagen

Trabajo en un proyecto para automatizar procesos comerciales internos y, a menudo, los usuarios solicitan informes sobre información acumulativa, y debido a que Open Office es muy común en el Banco Agrícola, Bird se utiliza para crear informes.

Le permite generar cualquier formato de documento. En principio, una gran solución, simple, comprensible, pero se volvió interesante si es posible implementar lo mismo dentro de Java.

Entonces me reuní con el ODF Toolkit.

Describiré varios métodos básicos, puede obtener más información en la página del proyecto odftoolkit.org .

Entonces, comencemos creando un documento:

TextDocument doc = TextDocument.newTextDocument();

Después de eso, pasemos a crear un párrafo, y si es Apache Poi (una biblioteca similar, pero solo para el formato de palabra), entonces son unas pocas líneas, y aquí todo es bastante conciso:

Paragraph subparagraphHeaderOne = doc.addParagraph(“”);

Y si queremos asignar el texto en el siguiente paso, entonces podemos usar una construcción similar:

Paragraph subparagrafFilial = paragraphHeader.addParagraph(null);

Un ejemplo de creación de un párrafo de Apache poi:

XWPFParagraph paragraphHeader = xwpfDocument.createParagraph();
   XWPFRun subpargraphHeader = paragraphHeader.createRun();
        subpargraphHeader.setText(“”);
        subpargraphHeader.addBreak();

Personalmente, estoy cautivado por tal concisión, pero continúo.

Crear estilos para un párrafo:

OdfOfficeStyles styles = doc.getOrCreateDocumentStyles ();
       OdfStyle style = styles.newStyle ( "Source Text", OdfStyleFamily.Paragraph );
          style.setProperty ( OdfParagraphProperties.VerticalAlign, "#middle");
          paragraph.getOdfElement().setStyleName("Source Text");

Pero hay un pequeño problema, según la documentación oficial, la asignación de estilo ocurre así:

paragraph.setStyleName("Source Text")

imagen

Pero desafortunadamente, no funciona de esa manera, lo que cuesta una cierta cantidad de células nerviosas y tiempo para encontrar una solución.

Crear una tabla:

Table TableOne = doc.addTable( , );

Es posible trabajar con celdas creando un nuevo párrafo y directamente con la celda misma

Al crear un nuevo párrafo:

Paragraph cellOne = Paragraph.newParagraph(subparagraphTableOne.getCellByPosition(0, 1));
 cellOne.appendTextContent("");

Directamente con una celda:

Cell cellOne = subparagraphTableOne.getCellByPosition(0, 0);
 cellOne.setStringValue("")

Trabajar con un estilo de tabla y sus bordes:

Crear un borde:

Border border= new Border(Color.WHITE, 2, StyleTypeDefinitions.SupportedLinearMeasure.PT);

La primera variable es la elección del borde al que se aplicará el estilo:

table.getRowByIndex(0).getCellByIndex(1).setBorders(StyleTypeDefinitions.CellBordersType.BOTTOM, border);

Establecer el estilo de fuente:

Font font = new Font("Times New Roman", StyleTypeDefinitions.FontStyle.REGULAR, 12);

Quiero concluir esta breve revisión, si el proyecto le interesa, entonces el sitio web del proyecto odftoolkit.org tiene una guía más avanzada para trabajar con esta API.

Espero que este artículo ayude a alguien a seguir el camino más simple.

All Articles