Opa.
Boa tarde pessoal .
Sei que existem outros tópicos no forum tratando desse assunto, em sua maioria falando para usar a API : Apache POI .
No entanto estou em busca de uma solução mais rápida, simples e genérica. Com direito a algumas imperfeições .
Estou recuperando o conteúdo html de uma tabela e enviando para um servelet; da seguinte forma:
<script language="JavaScript" type="text/javascript">
jQuery(document).ready(function() {
jQuery('#exportaTabela').click(function() {
var tabela = jQuery('#dataTableProcessosAbertos').html();
var data = {'tabela' : tabela };
jQuery.ajax({
url: 'exportar-servlet/',
cache: false,
async: false,
type: 'post',
data: data,
dataType:'html',
success: function(feedback){
alert("OK");
},
error: function(request, status, thrown){
alert("Fail");
}
});
});
});
</script>
public class ExportarServlet extends HttpServlet {
private static final long serialVersionUID = 7549911469656855323L;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
System.out.println("ExportarServlet.doPost()");
String tabela = request.getParameter("tabela");
Ao recuperar o conteúdo da variável (tabela) em Debug. e salvar esse conteúdo como (*.xls)
O resultado é satisfatório. No entanto não estou conseguindo fazer isso com o Java.
Ainda não tentei criar o arquivo no servidor, não queria fazer isso.
por isso tava tentando uma forma de escrever o arquivo no response.
Mas ao que parece estou fazendo isso errado :
response.reset();
response.setContentType("application/xls");
response.setHeader("Content-Disposition",
"attachment;filename=simpleDemo.xls");
PrintWriter printWriter = response.getWriter();
printWriter.write(tabela);
Alguém pode me dar uma dica de como fazer isso ?
Obrigado !