Ajuda com p:fileDownload do primefaces

boa tarde , estou fazendo a parte de exportaçao de relatorio do meu sistema e estou testando a exportaçao xls.

tenhu o seguinte codigo

[code]public StreamedContent gerarExcel(List listRelatorioVisitaQuestao) throws Exception {

   StreamedContent arquivoXLS = null;
	HSSFWorkbook wb = new HSSFWorkbook();   
    HSSFSheet sheet = wb.createSheet("Lista Usuarios");   
        
        for (int cont = 0; cont < listRelatorioVisitaQuestao.size(); cont++) {   
  
           // usuarioDTO = (UsuarioDTO) listaUsuarios.get(cont); 
            RelatorioPergunta relatorioPergunta = listRelatorioVisitaQuestao.get(cont);
  
            HSSFRow row = sheet.createRow(cont);   
  
            HSSFCell celula0 = row.createCell((short) (0));   
            sheet.autoSizeColumn((short) 0);   
               
               
            celula0.setCellValue(relatorioPergunta.getVisitaQuestao().getId_visita_questao());   
            HSSFCell celula1 = row.createCell((short) (1));   
            sheet.autoSizeColumn((short) 1);   
              
               
            celula1.setCellValue(relatorioPergunta.getVisitaQuestao().getQuestao().getDescricao());   
            HSSFCell celula2 = row.createCell((short) (2));   
            sheet.autoSizeColumn((short) 2);                     
        }   
        FileOutputStream stream = new FileOutputStream("planilhausu.xls");   
        wb.write(stream);   
        
        File arquivo = new File("planilhausu.xls");
        arquivoXLS = new DefaultStreamedContent(new FileInputStream(arquivo), "planilhausu/xls", "relatorio2.xls");
        return arquivoXLS;
    
}[/code]

na linha onde esta assim:

FileOutputStream stream = new FileOutputStream("planilhausu.xls");   
            wb.write(stream);   

se eu colocar assim:

FileOutputStream stream = new FileOutputStream("D:/planilhausu.xls"); wb.write(stream);

o relatorio é salvo normalmente no disco D: do meu pc

so que se eu colocar a parte do

 File arquivo = new File("planilhausu.xls");
 arquivoXLS = new DefaultStreamedContent(new FileInputStream(arquivo), "planilhausu/xls", "relatorio2.xls");
 return arquivoXLS;

o sistema da erro 500 na tela, eu nao tenhu ideia do que pode ser porque segui esse modelo no pdf e deu certo

alguem saberia dizer se com xls é diferente?