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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。