:编辑START:
如果有人偶然发现这个问题,那么这里有一个小问题。
让newLines工作后,我想设置行高以匹配内容。为此,我只需将行高设置为cellValue中newLines的数量。 但是,当使用poi创建电子表格时,如果在cellValue之前或之后应用cellStyle似乎很重要。在我的情况下,只有在添加cellValue之前应用cellStyle 时才有效。
哦,记住rowHeight被定义为角色的1/256(!?!?!)所以将rowHeight设置为
(short)(numberOfNewLines*256)
:编辑结束:
我有这段代码生成Excel电子表格。使用
创建一些单元格的内容cell.setCellValue(new XSSFRichTextString(header));
cell.setCellStyle(cs);
但是,如果我设置
header = "Estimated\nDuration";
然后新行不会在生成的电子表格中呈现。它只是出现在" EstimatedDuration"。
我正在使用Apache POI v3.9。
有什么建议吗?
答案 0 :(得分:3)
让我们从如何使用Excel在Excel电子表格中添加换行开始。根据{{3}},编辑单元格内容,将光标放在所需的换行位置,然后执行 Alt + Enter 。这样做的效果是在字符串中引入换行符并且打开"换行文本"在牢房里。
您已经在字符串中添加了换行符,但是您需要添加到您的代码中以修改CellStyle
以使用this article打开包装文本。
String header = "Estimated\nDuration";
cell.setCellValue(new XSSFRichTextString(header));
// Add this line to turn on wrapped text.
cs.setWrapText(true);
cell.setCellStyle(cs);
这似乎可以在.xls和.xlsx文件上成功测试。
如果单元格样式具有"换行文本" Excel似乎只会换行文本,换行是否存在。属性设置为true
。