我正在尝试自动调整旋转90度的列的大小,该列的值中有一个新行,但是如果它包含一个新行(只有新行出现之前的部分,另一部分隐藏),自动调整大小似乎不会扩展单元格的宽度,如下面的代码所示,是否有解决方法
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet();
String value ="This is long text with new line ... \n this is the second line";
XSSFCellStyle style = workbook.createCellStyle();
style.setRotation((short)90);
style.setWrapText(true);
Row row = sheet.createRow(1);
Cell cell = row.createCell(0);
cell.setCellStyle(style);
cell.setCellValue(value);
workbook.getSheetAt(0).autoSizeColumn(0);
1条答案
按热度按时间pbossiut1#
这对我来说很有意义因为
setWrapText(true)
. 根据ApachePOI文档autoSizeColumn()
,此方法调整列宽以适应内容
但在你打电话之前
autoSizeColumn()
,你在打电话吗setWrapText(true)
,它的作用是将所有文本内容都放在单元格中,因此既然文本放在单元格中,autoSizeColumn()
没有工作要做,因为文本已经适合,没有必要扩大列。