poi3.8 xlsx 单元格显示08:00并且公式栏显示08:00:00,可以使用Date和String,但绝对不能出现日期
时间: 2024-02-29 16:51:43 浏览: 61
如果您希望在单元格中显示时间,并且公式栏中也显示相同的时间,而不显示日期部分,您可以创建一个自定义格式,将其应用于单元格,并将时间作为字符串设置为单元格值。
以下是一个示例代码:
```java
String timeString = "08:00"; // 假设您要显示的时间为 "08:00"
CellStyle style = workbook.createCellStyle();
style.setDataFormat(workbook.createDataFormat().getFormat("hh:mm;@")); // 设置自定义格式
Cell cell = row.createCell(0);
cell.setCellValue(timeString);
cell.setCellStyle(style);
```
这将在单元格中显示时间(例如“08:00”),并且公式栏中也将显示相同的时间(例如“08:00:00”),但不会显示日期部分。请注意,这种方法将时间作为字符串处理,在公式栏中也将显示为字符串。如果您需要在公式中使用这些时间值进行计算,请确保将其转换为 Excel 中的时间类型。
在自定义格式字符串中,使用分号分隔时间格式和文本格式。在时间格式中,使用 `hh` 表示小时,使用 `mm` 表示分钟。在文本格式中,使用 `@` 表示将单元格值作为文本显示。
相关问题
poi3.8 xlsx 单元格显示08:00并且公式栏显示08:00:00 可以使用Date和String,但不能出现日期
如果您希望在单元格中显示时间,并且公式栏中也显示相同的时间,您可以使用 `java.util.Date` 类型来设置单元格值,并使用 Excel 内置的时间格式将单元格格式设置为显示时间部分。
以下是一个示例代码:
```java
Date time = new Date(); // 假设您要显示当前时间
CellStyle style = workbook.createCellStyle();
style.setDataFormat(workbook.createDataFormat().getFormat("hh:mm")); // 设置时间格式
Cell cell = row.createCell(0);
cell.setCellValue(time);
cell.setCellStyle(style);
```
这将在单元格中显示时间(例如“08:00”),并且公式栏中也将显示相同的时间(例如“08:00:00”)。请注意,这种方法将时间作为 Java 中的 `Date` 类型处理,并且将其转换为 Excel 中的日期时间类型。如果您需要对这些时间值执行计算,Excel 将使用日期部分进行计算。如果您只需要在 Excel 中显示时间部分,请使用上一个回答中的第一种方法,将单元格格式设置为仅显示时间部分。
poi3.8 xlsx 单元格显示08:00并且公式栏显示08:00:00,可以使用Date和String,但绝对不能出现日期,setcellStyle之后需要双击才会生效,怎样让其直接生效
要让单元格显示为 08:00 并且公式栏显示为 08:00:00,可以使用以下代码:
```java
CellStyle cellStyle = workbook.createCellStyle();
CreationHelper createHelper = workbook.getCreationHelper();
cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("hh:mm:ss"));
Cell cell = row.createCell(0);
cell.setCellValue("08:00");
cell.setCellStyle(cellStyle);
```
这里使用了 `setDataFormat` 方法设置单元格格式为时分秒(hh:mm:ss)。同时,使用了 `CreationHelper` 对象创建了一个格式化对象,然后通过该对象获取了一个时分秒格式化字符串。
如果你在设置单元格样式(`CellStyle`)后发现需要双击才能使其生效,那么可以使用下面的代码行来强制 Excel 刷新单元格:
```java
sheet.autoSizeColumn(0);
```
这个方法会自动调整第一列的宽度,同时也会强制刷新单元格格式。这样你就可以在设置单元格样式后直接看到效果了。
阅读全文