title: Download Excel from Servlet
body: <p>I have following servlet where I use the "GET" method to download an Excel file which I generate using apache POI. </p>
  
  <pre><code>response.setContentType("application/vnd.ms-excel");
  response.setHeader("Content-Disposition", "attachment; filename=reg_user.xls");
  
  HSSFWorkbook workbook = new HSSFWorkbook();
  HSSFSheet sheet = workbook.createSheet("Registered Users");
  
  // create workbook
  
  ServletOutputStream out = response.getOutputStream();
  workbook.write(out); 
  out.flush();
  out.close();
  </code></pre>
  
  <p>and I make an ajax call to this servlet. But the Excel file is not downloading. When I looked the console, it has some weird characters along with possible data from the supposed excel file</p>
  
  <p>� ������������ �������� ������������ �������� ������������ �������� ������������ �������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ ��������� ������������ �������� ������������ ����+��� ������������ ����)��� ������������ ����,��� ������������ ����*��� ������������ ���� ��� ������������ ��������������������������`�����������Registered Users��������������������#��������User ID��Name
  ��Email Address
  ��Mobile Number
  ��Date of Birth��Gender��Locale��100005085485545</p>
  
  <p>I used this same method to write the file to my computer using following code and it worked. </p>
  
  <pre><code>FileOutputStream out = new FileOutputStream(new File("C:\\new.xls"));
  workbook.write(out);
  out.close();
  </code></pre>
  
  <p>But what I want is to auto download the file, which is not working for some reason. </p>
  
  <p>What could be the course? I have set the response content type too correctly.</p>