2009-10-09 9 views

Répondre

1

j'ai écrit ci-dessous morceau de code qui fait à peu près le travail pour moi:

ServletOutputStream serv = response.getOutputStream(); 
response.setContentType("text/x-csv"); 
response.addHeader("Content-Disposition", 
     "attachment; filename=ListofContracts.csv"); 
HSSFSheet sheet = wb.getSheetAt(0); 

for (int i = 0; i <= sheet.getLastRowNum(); i++) { 
    HSSFRow row = sheet.getRow(i); 

    for (short j = 0; j <= row.getLastCellNum(); j++) { 
     HSSFCell cell = row.getCell(j); 
     strBuff.append(cell.getStringCellValue() + " , "); 
    } 

} 
serv.write(strBuff.toString().getBytes()); 
+0

Je pense que cela a un problème si la valeur de la cellule contient un « » le séparateur CSV utilisé dans cet échantillon. 'Aaron Digulla' a déjà noté le point ci-dessus –

3

Il n'existe aucun code existant AFAIK. Itérer sur toutes les cellules de la première feuille et les écrire. Assurez-vous d'échapper correctement aux séparateurs de champs et aux guillemets.

Questions connexes