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的效果
直接写死的行高,结果很坑爹啊,所以不能直接写死,写死了,效果不是想象中的那样