如何使用poi在java中自动调整行高度?

我在我的应用程序中使用java中的poi库文件将string放入excel文件中。 事情是我的一些string包含多行,当放入一个单元格时,只有一些信息是可见的,如第三列所示。 http://imgur.com/Iy7B2OY我不得不双击单元格来查看应该显示的信息。 有没有一种方法可以使信息成为第三列的最后一行? 提前致谢。 编辑:这是做转换工作的类的代码。

公共类转换{

String filename = "C:\\Users\\daoudi\\Desktop\\FactureTest.xls" ; HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("FirstSheet"); HSSFRow rowhead = sheet.createRow(0); public conversion(List<String> nom , List<String> tel, List<String> abo, List<String> total) throws IOException{ try{ rowhead.createCell(0).setCellValue("Nom"); rowhead.createCell(1).setCellValue("Telephone"); rowhead.createCell(2).setCellValue("Abonnements"); rowhead.createCell(3).setCellValue("Total"); //HSSFCellStyle aligned = workbook.createCellStyle(); //aligned.setAlignment(HSSFCellStyle.VERTICAL_JUSTIFY); for (int i=0;i<nom.size();i++){ HSSFRow row = sheet.createRow(i+1); Cell cell = row.createCell(0); cell.setCellValue(nom.get(i)); cell = row.createCell(1); cell.setCellValue(tel.get(i)); cell = row.createCell(2); cell.setCellValue(abo.get(i)); //cell.setCellStyle(aligned); cell = row.createCell(3); cell.setCellValue(total.get(i)); //cell.setCellStyle(aligned); } sheet.autoSizeColumn((short)0); sheet.autoSizeColumn((short)1); sheet.autoSizeColumn((short)2); sheet.autoSizeColumn((short)3); FileOutputStream fileOut = new FileOutputStream(filename); workbook.write(fileOut); fileOut.close(); } catch(IOException e) { e.printStackTrace(); } } 

}

下面的工作代码示例

 try { FileInputStream is = new FileInputStream(new File("C:\\Desktop\\ook.xls")); HSSFWorkbook wb = new HSSFWorkbook(is); String str = "111111111111111111111111111111111111111111111111111111111111111111111111111111111"; HSSFSheet sheet = wb.getSheet("Sheet1"); Row row = sheet.createRow(0); Cell cell = row.createCell(0); Cell cell1 = row.createCell(1); CellStyle style = wb.createCellStyle(); cell.setCellStyle(style); cell.setCellValue(str); CellStyle style2 = wb.createCellStyle(); cell1.setCellStyle(style2); cell1.setCellValue(str); sheet.autoSizeColumn(0); sheet.autoSizeColumn(1); wb.write(new FileOutputStream(new File("C:\\Desktop\\ook.xls"))); } catch (IOException e) { e.printStackTrace(); } 

我在第一行的前两列写“str”。

我使用的库是:

在这里输入图像说明

结果:

在这里输入图像说明

另外,甚至可以使用自动包装 ,下面是一个例子:

 try { FileInputStream is = new FileInputStream(new File("C:\\Desktop\\ook.xls")); HSSFWorkbook wb = new HSSFWorkbook(is); String str = "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"; HSSFSheet sheet = wb.getSheet("Sheet1"); Row row = sheet.createRow(0); Cell cell = row.createCell(0); CellStyle style = wb.createCellStyle(); style.setWrapText(true); cell.setCellStyle(style); cell.setCellValue(str); wb.write(new FileOutputStream(new File("C:\\Desktop\\ook.xls"))); } catch (IOException e) { e.printStackTrace(); } 

结果:

在这里输入图像说明