问题反馈:
当内容超过,一个单元格的最大数量时,我们设置自动换行,会折叠到单元格里面。
解决
第一步:设置自动换行
CellStyle style = wb.createCellStyle(); /* 自动换行*/ style.setWrapText(true);
第二步:设置行高
如果不设置行高,或行高固定,就是自动折叠进单元格。
我们以30个字体为一行,超过30个自动换到下一行
通过宽度计算文字长度,再用默认高度*倍数
//加工内容
Cell cell3 = tempRow.createCell(cell++);
cell3.setCellValue(item.getRemark());
if(item.getRemark().length()>30){
//当字符数大于三十的时候,长度除以30+1 就是倍数,默认高度乘倍数即可计算出高度
int foldNum = ((item.getRemark().length() / 30) + 1);
tempRow.setHeightInPoints((short)(20 * foldNum));
}