use*_*895 33 java excel apache-poi
我正在使用Apache POI将值输入到电子表格中.这些值有换行符,我能够成功使用此代码:
CellStyle style = cell.getCellStyle()
style.setWrapText(true)
cell.setCellStyle(style)
Run Code Online (Sandbox Code Playgroud)
不幸的是,虽然文本正确包装,但行的高度并不总是足以显示内容.如何确保我的行总是正确的高度?
小智 20
currentRow.setHeight((short)-1)
Run Code Online (Sandbox Code Playgroud)
适用于XSSFCell和Excel 2013
小智 18
HSSFWorkbook workbook=new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("FirstSheet");
HSSFRow rowhead= sheet.createRow((short)0);
HSSFCellStyle style = workbook.createCellStyle();
style.setWrapText(true);
row.setRowStyle(style);
row.getCell(0).setCellStyle(style);
Run Code Online (Sandbox Code Playgroud)
上面的代码将生成行的动态高度.
我让它工作的唯一方法是编写我自己的实现来计算行高.代码现在作为Taro项目发布,因此您可以使用它.它有许多方便的方法,让你用更少的代码行编写Excel文件.
如果您希望将实现放在自己的代码中,可以在SpreadsheetTab类中找到它.中途有一个autoSizeRow(int rowIndex)方法.它基本上向下遍历行,每个单元格找到文本行数,然后使用字体大小计算最佳单元格高度.然后它将行高设置为最高单元格的高度.