Je souhaite convertir HSSFWorkbook dans un format de fichier CSV, puis écrire à ServletOutputStream où je setContentType comme text/x-csv.Comment puis-je convertir HSSFWorkbook dans un fichier CSV ..?
Merci d'avance.
Je souhaite convertir HSSFWorkbook dans un format de fichier CSV, puis écrire à ServletOutputStream où je setContentType comme text/x-csv.Comment puis-je convertir HSSFWorkbook dans un fichier CSV ..?
Merci d'avance.
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());
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.
Découvrez SuperCSV
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 –