title: spring MVC 3 download an Excel file
body: <p>I can not manage to download an excel file from the browser even though there is no error here in my controller method.</p>
  
  <pre><code> @RequestMapping(value = "/getExcelFile", method = RequestMethod.GET, produces="application/json")
  public @ResponseBody HttpEntity&lt;byte[]&gt; getUserDetailsExcelFile(@RequestParam Long id) {
      try {
              byte[] wb =  ExcelReportView.buildExcelDocument(data);
              HttpHeaders header = new HttpHeaders();
              header.setContentType(new MediaType("application", "vnd.openxmlformats-officedocument.spreadsheetml.sheet"));
              header.set("Content-Disposition",
                             "attachment; filename=test.xls");
              header.setContentLength(wb.length);
              return new HttpEntity&lt;byte[]&gt;(wb, header);
          } catch (Exception e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
          return null;
  }
  </code></pre>
  
  <p>I got the information request from firebug.</p>
  
  <pre><code>Request Method:GET Status Code:200 OK 
  Request Headersview source
  Accept:application/json, text/plain, */*
  Accept-Encoding:gzip,deflate,sdch
  Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
  Connection:keep-alive
  Cookie:org.cups.sid=ed8f7540d976ccc90b85954f21520861;         org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=fr; __ngDebug=true;   JSESSIONID=tqi3ofownl17
   Host:localhost:8888
    Referer:http://localhost:8888/
   User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko)   Chrome/27.0.1453.110 Safari/537.36
   X-Requested-With:XMLHttpRequest
   Query String Parametersview sourceview URL encoded
   id:1
   Response Headersview source
   Cache-Control:no-cache
   Content-Disposition:attachment; filename=test.xls
   Content-Length:1849
   Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  </code></pre>
  
  <p>and content of response</p>
  
  <pre><code> ��A����\p                                                                                                       B�a=���=h\:�#8X@�"��1���Arial1���Arial1���Arial1���Arial"$"#,##0_);("$"#,##0)"$"#,##0_); [Red]("$"#,##0) "$"#,##0.00_);("$"#,##0.00)% "$"#,##0.00_);[Red]("$"#,##0.00),*'_(*  #,##0_);_(* (#,##0);_(* "-"_);_(@_)5)0_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)4,/_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)=+8_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)��� � ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� ��� �� � � �+�� �� �)�� �� �,�� �� �*�� �� �    �� �� ������������������`��
  Users Details���c
  First Name   Last NameEmailPhone AddressLast AppointmentAppointment Status� K ��
  d����MbP?_*+��%������"d,,�?�?U����     �  �� �v&gt;�@e
  </code></pre>
  
  <p>So I do not know what to do, I want the browser gives me the choice to sauvgader the file in a folder.</p>
  
  <p>thank you</p>