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.
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
rickzale
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
rickzale
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/excelresponse.setHeader("Content-Disposition","attachment; filename=filename.xls");HSSFWorkbookworkbook=newHSSFWorkbook();// ...// 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.