Skip to main content

Guia para construção de relatórios para exportação XLS

A elaboração de relatórios demanda diferentes abordagens, dependendo das preferências para visualização e utilização. Geralmente, trabalhar com PDF é mais simples do que com Excel, pois requer tentativas e erros para obter resultados satisfatórios.

Quando se trata do Excel, é essencial assegurar um alinhamento adequado de todas as colunas, a fim de evitar discrepâncias de tamanho na planilha.

Ao exportar para o Excel, o objetivo principal é manter a organização e a clareza para que os dados estejam prontos para filtragem, divisão, classificação e agrupamento, até que alcancem o resultado desejado.

É aconselhável criar duas guias: uma para os dados e outra para notas de rodapé. Na guia de dados, reserve uma linha para o nome do relatório ou logotipo da empresa, seguida por outra linha para os cabeçalhos das colunas e, por fim, insira as linhas com os próprios dados.

No Jaspersoft Studio

A seção de "Cabeçalho da Coluna" insira a tabela de dados, pois ter os dados em uma tabela permite: visualizá-los em HTML, classificar, entre outras interações. A tabela de dados conta com uma linha para os cabeçalhos das colunas e outra para os próprios dados.

Na seção "Resumo", é importante apresentar todas as seleções de entrada, abreviações, cálculos e informações relevantes. Para garantir uma apresentação limpa no Excel, evite inserir o nome do relatório e o logotipo da empresa no cabeçalho da coluna ou no cabeçalho da página, a menos que o relatório também seja exportado em formato PDF. Nesse caso, uma solução eficaz é inserir um "Elemento de Quebra de Página" no topo da seção de Resumo, com as seguintes configurações: x: 0 px, y: 0 px, altura de 1 pixel e Tipo de Posição: Fixe em relação ao topo.

Isso garantirá que a quebra de página seja colocada no topo da seção de Resumo, isolando-a das demais informações. Além disso, certifique-se de que todos os outros elementos na página de resumo tenham uma posição Y igual ou abaixo de 1, para evitar sobreposições com a quebra de página. Dessa forma, o Resumo será apresentado de maneira organizada e legível no Excel.

Além disso, é recomendável incluir uma seção intitulada "Sem Dados" que seja uma replicação da página de Resumo. Nessa seção, adicione um aviso destacado que diga: "Não foram encontrados dados para as seleções feitas", juntamente com o nome do relatório e o logotipo da empresa. A presença desta seção "Sem Dados" é importante quando as seleções feitas pelo usuário não resultam em dados disponíveis. Ela serve como um lembrete amigável de que é possível revisar as seleções feitas. Às vezes, um relatório vazio pode ser interpretado como um indicativo de que o sistema ou o relatório não estão funcionando corretamente. Portanto, é crucial comunicar que as escolhas feitas pelo usuário os conduziram a essa situação. Para garantir que tudo funcione adequadamente, o Relatório Principal deve utilizar a mesma consulta de conjunto de dados que a tabela.

Nas Propriedades do Relatório Principal, na seção Formato de Página, o Formato de Página tem as seguintes propriedades:

Formato: Letter (Carta).

Largura: Um relatório que abrange PDF e Excel, a largura é de 792 pixels.

Altura: Um relatório que abrange PDF e Excel, a altura é de 612 pixels.

Observação: O Excel não se importa com as margens especificadas aqui. O PDF lida bem com elas.

Unidades: pixel (mais fácil trabalhar com elas do que com polegadas).

Orientação da Página: Paisagem.

Margens: 36 para todas as margens.

Além disso, nas Propriedades do Relatório, possuem as seguintes seleções:

Tipo Quando Não Há Dados: Seção Sem Dados.

Resumo em Uma Nova Página: marcado.

Resumo com Cabeçalho e Rodapé de Página: marcado (ao desmarcar essa opção na seção de Resumo, teria que adicionar o nome do relatório e o logotipo da empresa).

Ignorar Paginação: conclui-se que a opção não marcada é a melhor, caso contrário, ao gerar um relatório no formato PDF ou Excel, o PDF não é paginado corretamente e não pode ser recuperado.

Nas Propriedades Avançadas do Relatório Principal, adicione as seguintes configurações:

  • O JavaScript coloca apenas quantas linhas de dados couberem em uma única guia, de acordo com a Altura da Página.
<property name = "net.sf.jasperreports.export.xls.one.page.per.sheet" value="true"/>
  • Remove uma linha com altura de linha muito grande no final da guia de dados. É importante ressaltar que, ao fazer isso, pode ser difícil ter espaçamento entre linhas nas notas de rodapé.
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.rows" value="true"/>
  • Elimina colunas vazias, como aquelas causadas por margens ou por um layout deficiente.
<property name="net.sf.jasperreports.export.xls.remove.empty.space.between.columns" value="true"/>
  • Exibe as linhas de grade no Excel. Caso contrário, obterá uma superfície branca sólida, o que pode prejudicar a aparência do Excel, especialmente quando se trata de despejo de dados.
<property name="net.sf.jasperreports.export.xls.white.page.background" value="false"/>
  • Instrui o Excel a tratar as datas como datas e os números como números, em vez de todos serem tratados como texto quando essa configuração é definida como "false" (valor padrão).
Observação!

Os formatos de data personalizados em Java são diferentes dos formatos de data personalizados no Excel, o que significa que um formato de data pode ficar bom no Excel, mas ruim em Java/HTML, ou vice-versa. Portanto, é importante ter cuidado ao lidar com formatos de data personalizados.

<property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
  • Instrui o Excel a não excluir o gráfico do logotipo da empresa. Quando definido como "true" (valor padrão), o Excel exclui os gráficos automaticamente.
<property name="net.sf.jasperreports.export.xls.ignore.graphics" value="false"/>
  • Precisa ser digitado ou colado diretamente no XML de origem.
<property name="net.sf.jasperreports.page.break.no.pagination" value="apply"/>
  • Instrui o Excel a nomear a primeira guia como "Dados" e a segunda guia como "Notas de Rodapé". Em vez de "Dados", é recomendado algo mais descritivo, como o nome do relatório.
<property name="net.sf.jasperreports.export.xls.sheet.names.all" value="Data/Footnotes"/>
  • Instrui o Excel a congelar as duas primeiras linhas. Portanto, uma vez no Excel, a linha com o nome do relatório e o logotipo da empresa, bem como a linha com os cabeçalhos das colunas, ficarão fixas no topo da planilha. Isso permite que o usuário role por milhares de registros e ainda consiga visualizá-los. Sem essa configuração, o usuário teria que fazer isso manualmente.
<property name="net.sf.jasperreports.export.xls.freeze.row" value="3"/>
  • Impede que o JavaScript trunque valores mais largos do que as larguras de coluna explicitamente definidas. No Excel, isso é visto como quebra de texto automática (wrapping).
<property name="net.sf.jasperreports.print.keep.full.text" value="true"/>
  • Impede que o JavaScript reduza o tamanho da fonte em 1 ponto ao exportar para o Excel. Por exemplo: sem essa configuração, uma fonte Arial 10 no Studio, quando exportada para o Excel no servidor, acabaria como uma fonte Arial 9.
<property name="net.sf.jasperreports.exports.xls.font.size.fix.enabled" value="false"/>

Para visualizar o material original clique aqui.