apache poi autosize功能不适用于 Package 文本(新行)

a14dhokn  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(317)

我正在尝试自动调整旋转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);
pbossiut

pbossiut1#

这对我来说很有意义因为 setWrapText(true) . 根据ApachePOI文档 autoSizeColumn() ,此方法
调整列宽以适应内容
但在你打电话之前 autoSizeColumn() ,你在打电话吗 setWrapText(true) ,它的作用是将所有文本内容都放在单元格中,因此既然文本放在单元格中, autoSizeColumn() 没有工作要做,因为文本已经适合,没有必要扩大列。

相关问题