2013-05-14 106 views
0

我在我的spring mvc3项目中使用Apache POI生成Excel表。该文件生成不带.xls扩展名。如果我用.xls手动重命名同一个文件,数据生成的很好。这里是我的代码片断::Excel中不添加扩展(APACHE POI)

@RequestMapping(value = "/download/") 
    public void downloadMerchantMiniStatement(final HttpServletResponse response, 
      @RequestParam(value = "fromDate", required = true) String fromDate, 
      @RequestParam(value = "toDate", required = true) String toDate, 
      @RequestParam(value = "status", required = false) String status 
      ) throws IOException { 

     String fileName = STATEMENT_REPORT_" + getDateString(new Date()) + ".xls"; 
     List<TransactionDTO> transactionDtos = excelService.getTransactionsForExcel(Status, DateUtil.convertStringToDate(fromDate), DateUtil.convertStringToDate(toDate)); 

     ByteArrayOutputStream excel = getExcelStatement(transactionDtos, fromDate, toDate, status); 
     excel.writeTo(response.getOutputStream()); 
     response.setContentType("application/excel"); 
     response.setHeader("Expires:", "0"); 
     response.setHeader("Content-Disposition", "attachment; filename=" + fileName); 
     response.getOutputStream().flush(); 
     response.getOutputStream().close(); 
    } 

回答

0

终于得到了解决,需要与response.setContentType("application/vnd.ms-excel");

,给出了一个标准格式输出被替换的代码response.setContentType("application/excel");