poi3.8 单元格显示时间hh:mm,需要点击单元格时在公式栏显示时间hh:mm:ss,setDataFormat,cell.setAsActiveCell()不会立刻生效,setForceFormulaRecalculation也不会立刻生效,evaluateFormulaCell怎么才能不需要双击就生效
时间: 2024-02-28 17:57:38 浏览: 150
poi对excel处理,针对时间格式
您好,关于您的问题,您可以尝试使用以下代码来设置单元格的格式,并在单元格上添加单击事件,用于触发公式栏的显示:
``` java
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(workbook.createDataFormat().getFormat("hh:mm"));
cell.setCellStyle(cellStyle);
// 单元格单击事件
Drawing<?> drawing = sheet.createDrawingPatriarch();
ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, cell.getColumnIndex(), cell.getRowIndex(), cell.getColumnIndex(), cell.getRowIndex());
Comment comment = drawing.createCellComment(anchor);
comment.setString(new XSSFRichTextString(cell.getStringCellValue()));
comment.setVisible(false);
comment.setAuthor("author");
((XSSFComment) comment).setAddress(new CellAddress(cell.getAddress()));
// 在单元格中添加公式,并设置公式自动计算
cell.setCellFormula("TEXT(A1,\"hh:mm:ss\")");
cell.setCellType(CellType.FORMULA);
cell.setCellComment(comment);
sheet.setForceFormulaRecalculation(true);
```
这样,当您单击单元格时,公式栏中将会显示单元格中的时间值,格式为hh:mm:ss。同时,由于设置了公式自动计算,公式栏中的值会自动更新。
阅读全文