Criando arquivos Excel com tabelas dinâmicas em Java

Estava com esse problema recentemente e vou dar dicas sobre o que pode ser feito:

  • Criar um arquivo usando o próprio Excel que servirá de template. Escrever os dados e dar nome ao range de dados (“Name a Range” no Excel em Inglês).
  • Neste template definir as tabelas dinâmicas (pivot tables) usando o range definido no item anterior (não utilizar seleção manual de células). Entrando nas opções da tabela dinâmica, marcar a opção para fazer refresh ao abrir o documento.
  • Utilizando o POI, escrever os comandos no java que abra o arquivo template, insira os dados reais por cima dos dados de exemplo, reajuste o named range de células para refletir a quantidade de linhas que tem os dados inseridos e salvar o arquivo com outro nome.

Expliquei bem por cima o que tem que fazer para ajudar aqueles que não tem nenhuma idéia. Outra coisa é que o POI deu problema ao tentar abrir um arquivo meu que tinha filtros, então devemos tirar todos os filtros do arquivo Excel. Uma coisa que não sei é se as tabelas dinâmicas feitas vão funcionar no Open Office.

Julho 25, 2008. Tags: , , , . java. Deixe um comentário.

Integrando Stripes com Jasper Reports

Vou falar aqui de como fazer a integração do Jasper Reports com o Stripes. Mais especificamente de como fazer o método num ActionBean do Stripes.

Uma das maneiras de se gerar relatórios com o Jasper é utilizando um OutputStream que conterá o relatório gerado. Sabendo disso, segue um exemplo de método de um ActionBean do Stripes que exporta um pdf, por exemplo:

public Resolution exportaPdf() {
  ByteArrayOuputStream output = new ByteArrayOutputStream();

  geraRelatorioPdf(output);

  return new StreamingResolution("application/pdf",
                    new ByteArrayInputStream(output.toByteArray()))
                    .setFileName("relatorio.pdf");
}

Este método ao ser chamado da tela, irá gerar o relatório em output e retornará um StreamingResolution com os dados do relatório, fazendo com que o navegador apresente a janela pedindo para salvar o arquivo.

Caso se deseje exibir no navegador um relatório gerado em html, podemos fazer de forma semelhante:

public Resolution exibeRelatorioHtml() {
  ByteArrayOuputStream output = new ByteArrayOutputStream();

  geraRelatorioHtml(output);

  return new StreamingResolution("text/html",
                     new ByteArrayInputStream(output.toByteArray()));
}

Em ambos os casos, utilizei os métodos geraRelatorio somente para simplificar a explicação do ActionBean. Estes métodos que se utilizariam do Jasper Reports para a confecção dos relatórios.

Julho 16, 2008. Tags: , . java. Deixe um comentário.

Acentuação no macbook

Option + E – Acento agudo

Option + ` – Acento grave

Option + I - Acento circunflexo

Option + N - Til

Option + C - C cedilha

Julho 14, 2008. Tags: , . offtopic. Deixe um comentário.

Subversion no Eclipse 3.4 Ganymede

O plugin subversive agora faz parte do Eclipse como um componente opcional. Para instalá-lo deve-se entrar em Help, Software Updates e escolher a opção Available Software. Clicar na seta do lado do Ganymede para abrir as categorias, escolher a categoria Collaboration Tools e selecionar a opção SVN Team Provider.

Ainda ficarão faltando os conectores SVN que devem ser baixados do site da Polarion (empresa que faz o subversive). Para isso devemos usar, ainda em Software Updates do Eclipse, o botão Add Site e colocar a seguinte url:

http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/

Assim aparecerá na janela o site adicionado e será possível selecionar os conectores. Eu selecionei todos, acho que é possível escolher um diferente do default após a instalação caso queira mudar.

Depois de feito tudo isso é só mandar instalar e reiniciar o Eclipse.

Julho 14, 2008. Tags: , , , . ferramentas, java. 2 comentários.