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的效果
直接写死的行高,结果很坑爹啊,所以不能直接写死,写死了,效果不是想象中的那样
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。