如下所示:
String.valueOf((char)10)
在导出excel 的时候,如果原始文字中含有 \n 字符, 如果把 \n 替换为<br/>,excel不会识别成换行符
excel 认可 char(10) 作为换行符:
scanSendCoupeMg.getRuleDesc().replace("\n", String.valueOf((char)10));
scanSendCoupeMg.getRuleDesc().replace("<br/>", String.valueOf((char)10));
补充知识:Java之POI生成Excel强制换行
JAVA通过poi来操作Excel进行换行操作,通过设定CellStyle样式中的setWrapText属性为true,就可以通过\r\n的方式进行Excel的格子内换行了,同时说一下,在Excel中,设定行高的操作,需要注意设定行高,不能直接写成short,写的和本身直接在excel中显示的行高效果不一样,需要获取行高,然后设定比例
换行
在不更改原来样式的情况下,设定换行操作
//获取存在的样式,在存在的样式的基础上进行修改操作 CellStyle cellStyle = xlSheet.getCell(row+1, 7).getCellStyle(); //设定这个wraptext的属性,就可以通过\r\n的操作进行换行了 cellStyle.setWrapText(true); xlSheet.getCell(row, eCol.biko.col).setCellStyle(cellStyle); //设定数据,通过\r\n进行换行操作 cell.setCellValue(new HSSFRichTextString("hello\r\n world!"));
设定行高
在POI操作行高中,我们直接写死的行高,一点用都没有,需要在获取原来的行高的情况下,然后乘除一个比例,然后转化为short类型,就可以了
short rowHeight = (short)(xlSheet.getRow(row).getHeight()*((bikoList.size()-1)/2+1));
xlSheet.getRow(row).setHeight(rowHeight);
这个42的行高是,根据一行多高,然后*2算出来的,直接写成xlSheet.getRow(row).setHeight((short)42);的效果并不是*2的效果
直接写死的行高,结果很坑爹啊,所以不能直接写死,写死了,效果不是想象中的那样
以上这篇Java 导出excel进行换行的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/196456/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)