Exportar xls

7 respostas
T

Amigos estou querendo exportar um arquivo xls mais estou com um nullPointer nesse trecho abaixo

declarei os

private HttpServletRequest request;
	
	private HttpServletResponse response;

e tenho os get e set de cada um mais estou com nullPointer aqui this.getServletResponse().setHeader, minha classe esta extendendo assim extends HttpServlet

como que eu faço para preencher esse objeto nulo.

ByteArrayOutputStream baos = new ByteArrayOutputStream();
			arquivoXLS.write(baos);
			baos.close();
			this.getServletResponse().setHeader("Content-Disposition", "attachment; filename=log_importacao.xls");
			this.getServletResponse().setContentType("application/octet-stream");
			this.getServletResponse().getOutputStream().write(baos.toByteArray());

7 Respostas

V

Se sua classe extend HttpServlet, vc deve receber o HttpServletRequest e o HttpServletResponse via parâmetros do
método doGet, doPost… e não declara-los com atributo de sua classe. o Container que dá o new neles e lhe passa como parametros…

T

no metodo doGet eu ‘seto’ um valor estatico para o metodo setHeader e setContentType ?

V

Servlet Básica:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SomeServlet extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     ...
           response.setHeader("Content-Disposition", "attachment; filename=log_importacao.xls");  
           response.setContentType("application/octet-stream");  
           response.getWriter().write(baos.toByteArray());  
  }
}
Sugiro q vc leia esta apostila que explica direitim sobre Servlet e JSP.

[url]http://www.caelum.com.br/download/caelum-java-web-fj21.pdf[/url]

T

valfrido.silva eu coloquei minha implementação dentro do metodo doGet porém meu response esta vindo null ?

OBS. eu fiz o mapeamento da minha Servlet no meu web.xml tb o que devo fazer para o response vir preenchido ?

R

Thiago verifica se vc mapeou sua servlet correto no web.xml e chame ela direto no browser que o responde irá vir preenchido

drigo.angelo

preste bastante atenção:

public void doGet(HttpServletRequest request, HttpServletResponse response)

o request e o response você não declara na classe, recebe como parametro, o web container que passa eles pra voce !!

T

Valeu robsonsan era isso mesmo

obrigado a todos

Criado 26 de janeiro de 2011
Ultima resposta 26 de jan. de 2011
Respostas 7
Participantes 4