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.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.orgEntã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")
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élulaCriando 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.