JSP Page exporta para Planilha eletrônica

9 respostas
R

Fala galera… dúvida: é possível depois de o usuário inserir informações numa tabela ou form, a página JSP processar isso e converter num arquivo do Excel por exemplo? Assim: entra-se com os dados na página (formulário ou tabela) e depois de enviar (submit) por dentro o java processa isso no servidor e depois devolve um arquivo no formato .xlsx, por exemplo.

Se não, o que vocês sugerem para fazer isso? Precisa ser por web mesmo, e não dá para ser no Google Docs por exemplo, devido segurança e o alcance disso. Desde já obrigado.

até mais.

9 Respostas

javaflex

Voce pode usar Apache POI

Arkimedes

Você também pode gerar um arquivo de texto no formato CSV. O mesmo é aberto pelo Excel sem problemas. Depois o cliente pode converter para Excel caso necessário.

R

Tá… já li quase tudo sobre o Apache POI… mas tem diversos exemplos de criação de planilhas mas tipo para desktop. Em JSP teria que “pegar” do form ou tabela, e trabalhar isso dentro do servidor e depois liberar para download o arquivo. Seria isso, mais ou menos?

Obrigado mesmo assim.

R

Obrigado. Mas como exportar para CSV? Tem alguma lib para JSP que faz isso? Ou tem tipo uma tag JSTL que ajuda nessa?

Valeu.

javaflex

Isso é independente de web e desktop. Leia do seu banco de dados e gere diretamente a saída no formato Excel usando Apache POI. Por fim, faz o download do arquivo. Você pode criar uma biblioteca genérica pra atender casos comuns.

staroski

Isso mesmo.

RenanRosa

O que você quer é saber como fazer o download do arquivo ?
Você deve informar o “Content Type” e “Content-Disposition” do response e depois gravar no outputStream do mesmo:

response.setContentType("application/vnd.ms-excel"); // ou então application/excel
response.setHeader("Content-Disposition", "attachment; filename=filename.xls");
HSSFWorkbook workbook = new HSSFWorkbook();
// ...
// preenche seu arquivo
// ...
workbook.write(response.getOutputStream()); 
workbook.close();
Arkimedes

Você usaria a API de IO do Java para gerar o arquivo e utilizar a dica do @RenanRosa para disponibilizar o download.

Gerar Arquivo texto no Java:

Há diversos exemplos de como gerar arquivos no Java na Internet.

Arkimedes

Ainda pode utilizar o org.omnifaces.util.Faces.sendFile(file, true) da biblioteca Omnifaces para fazer o download.

Onde file é um java.util.File

Criado 8 de maio de 2018
Ultima resposta 17 de mai. de 2018
Respostas 9
Participantes 5