2011-12-06 4 views
0

가능한지 확실하지 않습니다. Excel 파일을 구문 분석하여 사용자가 내 앱 (gae)에서 다운로드하도록 허용하려고합니다.게에서 파일을 다운로드하는 방법

public class dumpDataServlet extends HttpServlet { 
    public void service(HttpServletRequest req, HttpServletResponse resp) throws IOException { 
     String msg = ""; 
     boolean dumpFile = false; 
     JSONObject json = null; 
     resp.setCharacterEncoding(Constant.RESPONSE_CHARACTER_ENCODING); 
     try { 
      try { 
       msg = req.getParameter("dumpFile") + " "; 
       dumpFile = Boolean.valueOf(req.getParameter("dumpFile")); 
      } catch (Exception ex) { 
      }json = getFromOtherGAE(); 
      if (dumpFile) { 
       OutputStream out = resp.getOutputStream(); 
       this.parseExcelFile(json).write(out); //parseExcelFile will return a HSSFWorkbook 
       out.flush(); 
       out.close(); 
      } else { 
       resp.getWriter().println(json.toString()); 
      } 
     } catch (Exception ex) { 
      msg = ex.getClass() + " " + ex.getMessage(); 
      resp.getWriter().println(msg); 
     } 
    } 
} 

이 코드에 문제가 있습니까? 아니면 개가 그것을 할 수 없습니까?

감사합니다.

답변

0

'json'개체를 초기화 한 적이없는 것 같습니다. 이 코드를 실행하면 어떻게됩니까?

+0

죄송합니다. – vic

3

브라우저가 출력을 Excel로 인식하려면 일부 헤더를 설정해야합니다. 다음과 같이 입력하십시오 :

resp.setContentType("application/vnd.ms-excel"); 
resp.setHeader("Content-Disposition","attachment; filename=download.xls"); 
+0

나는 시험해 보았다. 하지만 여전히 표시됩니다 : {Error : Server Error 서버에서 오류가 발생하여 요청을 완료 할 수 없습니다. 문제가 지속되면 문제를보고하고이 오류 메시지와 원인이되는 쿼리를 언급하십시오.} – vic

+0

로그에서 스택 추적을 찾습니다. –

+0

나는 시험해 보았다. 아무것도 보여주지 마라. 나는 그것을 허용하지 않기 때문에 그것은 생각합니다. – vic

관련 문제