web-dev-qa-db-fra.com

Texte multiligne dans les cellules Excel

J'essaie d'écrire du texte multiligne dans des cellules Excel.

cell.setCellValue("line1 \n line2");

Mais lorsque j'ouvre le document, je ne vois qu'une seule ligne jusqu'à ce que je double-clique dessus pour le modifier, puis il devient à deux lignes. Pourquoi en est-il ainsi? Merci

32
Timofei Davydik

Vous devez définir la hauteur de ligne pour accueillir deux lignes de texte.

row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));

Vous devez définir le wrap text = true Pour obtenir la nouvelle ligne. Essayez ceci: Ici wb est le Workbook.

 CellStyle cs = wb.createCellStyle();
 cs.setWrapText(true);
 cell.setCellStyle(cs);
52
vikiiii

J'ai constaté que vous devez maintenant inclure une troisième étape après avoir suivi la réponse acceptée à cette question. Vous devez redimensionner automatiquement la colonne après avoir ajouté toutes vos données.

En supposant que vous êtes préoccupé par la colonne 2,

sheet.autoSizeColumn(2);

Voir l'exemple this d'Apache pour le contexte. Cela fonctionne pour moi avec Java 8, poi-3.15.jar et Excel pour Mac.

1
Ed Norris