Java 如何实现导出excel进行换行

Java 如何实现导出excel进行换行?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

如下所示:

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进行换行

直接写死的行高,结果很坑爹啊,所以不能直接写死,写死了,效果不是想象中的那样

Java 如何实现导出excel进行换行

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。