在LibreOffice中不会自动调整Apache poi Excel行高

我正在使用apache poi来创建一个excel文件。 有些列包含大数据,我想自动调整行高。 请参阅我使用的示例程序。

如果我在Microsoft Excel和Mac OS Numbers应用程序中打开生成的excel文件,那么我可以看到行高自动调整但在LibreOffice (版本5.4.2.2。)中它不会自动调整。

我尝试在( row.setHeightInPoints((short)-1), row.setHeight((short)-1),row.setHeight((short)0) , row.setHeightInPoints((short)0))的解决方案( row.setHeightInPoints((short)-1), row.setHeight((short)-1),row.setHeight((short)0) , row.setHeightInPoints((short)0)) Apache POI中行的大小高度,但它不起作用。

任何帮助都将受到重视

 import org.apache.poi.xssf.usermodel.*; import java.io.ByteArrayOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class WriteExcelBasic { public static void main(String[] args) throws IOException { String excelFileName = "/Users/home/Test3.xls"; FileOutputStream fos = new FileOutputStream(excelFileName); XSSFWorkbook wb = new XSSFWorkbook(); XSSFCellStyle style = wb.createCellStyle(); XSSFSheet sheet = wb.createSheet("sheet"); XSSFFont urlFont = wb.createFont(); style.setFont(urlFont); for (int r = 0; r < 3; r++) { XSSFRow row = sheet.createRow(r); row.setHeight((short) -1); for (int c = 0; c < 3; c++) { XSSFCell cell = row.createCell(c); String ss = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"; cell.setCellValue(ss); style.setWrapText(true); cell.setCellStyle(style); } } try (ByteArrayOutputStream baos = new ByteArrayOutputStream()) { wb.write(baos); byte[] myByteArray = baos.toByteArray(); fos.write(myByteArray); fos.flush(); } finally { wb.close(); fos.close(); } } }