Crie um documento de tabela simples usando o ODF Toolkit

Se você tem uma tarefa para fazer alguns relatórios simples e seus usuários usam o Open Office, não precisa usar grandes sistemas de relatórios como Bird, Jasper ou seus análogos.

O ODF Toolkit é ótimo para esta tarefa.

O ODF Toolkit , de acordo com informações do site oficial, é um conjunto de módulos Java que permitem criar, digitalizar ou manipular documentos no formato de um documento aberto (ISO / IEC 26300 == ODF). Diferente de outras abordagens, que são baseadas em manipulações de tempo de execução com editores pesados ​​por meio da interface de automação, o ODF Toolkit é leve e ideal para uso do servidor.

imagem

Trabalho em um projeto para automatizar processos internos de negócios e, frequentemente, os usuários solicitam relatórios sobre informações cumulativas e, devido ao fato de o Open Office ser muito comum no Banco Agrícola, o Bird é usado para criar relatórios.

Permite gerar qualquer formato de documento. Em princípio, uma ótima solução, simples, compreensível, mas tornou-se interessante se é possível implementar a mesma coisa dentro do Java.

Então, eu me encontrei com o ODF Toolkit.

Vou descrever uma série de métodos básicos, você pode aprender mais na página do projeto odftoolkit.org

Então, vamos começar criando um documento:

TextDocument doc = TextDocument.newTextDocument();

Depois disso, vamos criar um parágrafo, e se for Apache Poi (uma biblioteca semelhante, mas apenas para o formato da palavra), então existem algumas linhas e aqui tudo é bastante conciso:

Paragraph subparagraphHeaderOne = doc.addParagraph(“”);

E se queremos atribuir o texto na próxima etapa, podemos usar uma construção semelhante:

Paragraph subparagrafFilial = paragraphHeader.addParagraph(null);

Um exemplo de criação de um parágrafo de Poi do Apache:

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

Pessoalmente, estou encantado com essa concisão, mas continuo.

Criando estilos para um parágrafo:

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

Mas há um pequeno problema, de acordo com a documentação oficial, a atribuição de estilos acontece assim:

paragraph.setStyleName("Source Text")

imagem

Infelizmente, porém, não funciona dessa maneira, que custa uma certa quantidade de células nervosas e tempo para encontrar uma solução.

Criando uma tabela:

Table TableOne = doc.addTable( , );

É possível trabalhar com células criando um novo parágrafo e diretamente com a própria célula

Criando um novo parágrafo:

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

Diretamente com uma célula:

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

Trabalhando com um estilo de tabela e suas bordas:

Crie uma borda:

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

A primeira variável é a escolha da borda à qual o estilo será aplicado:

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

Defina o estilo da fonte:

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

Quero concluir esta breve revisão, se o projeto lhe interessar, o site do projeto odftoolkit.org possui um guia mais avançado para trabalhar com esta API.

Espero que este artigo ajude alguém a seguir o caminho mais simples.

All Articles