2013-01-10 58 views
1

我會通過下面的教程編寫使用POI API在Excel工作表中 http://poi.apache.org/spreadsheet/quick-guide.html#CreateDateCells 日期,但是當我試圖運行的日期提交的代碼顯示「###」,而不是實際日期! 這裏是代碼片段寫作日期使用POI教程

CellStyle cellStyle = wb.createCellStyle(); 
cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("m/d/yy h:mm")); 
Cell cell= row.createCell(4); 
cell.setCellValue(new Date()); 
cell.setCellStyle(cellStyle); 

回答

0

Excel顯示一個完整的「#」符號(例如,「########」),當一個單元以這樣的方式被格式化使得所得文本是細胞太長以至於不能在單元格中顯示它。當您在Excel中打開電子表格時,將該列加寬足夠長的時間,它將顯示格式化的日期。

爲了讓POI創建電子表格,以便列從一開始就足夠寬,那麼您需要自己設置列寬。

sheet.setColumnWidth(columnIndex, width) 

乘您的寬度256在通過它,因爲通過該方法所使用的寬度單位是一個字符的1/256ths之前。這裏是Javadoc:Sheet

+0

非常感謝你!它解決了我的問題 –