1

我正在通过以下教程在 Excel 表 http://poi.apache.org/spreadsheet/quick-guide.html#CreateDateCells中使用 poi API 编写日期, 但是当我尝试运行代码时,提交的日期显示“# ##" 而不是实际日期!!这是代码片段

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);
4

1 回答 1

0

当单元格的格式设置为结果文本太长而无法在单元格中显示所有内容时,Excel 会显示一个充满“#”符号的单元格(例如“########”)。当您在 Excel 中打开电子表格时,将列加宽足够长,它将显示格式化的日期。

要让 POI 创建电子表格以使列从一开始就足够宽,那么您需要自己设置列宽。

sheet.setColumnWidth(columnIndex, width)

在传入之前将宽度乘以 256,因为此方法使用的宽度单位是字符的 1/256。这是 Javadoc:工作表

于 2013-01-10T20:26:31.750 回答