poi-3.8 设置时间格式自定义 h:mm,打开excel点击单元格显示 h:mm:ss
时间: 2024-01-08 21:04:56 浏览: 29
这是因为Excel在显示时间时默认会添加秒数。要解决这个问题,您可以在使用`SimpleDateFormat`类格式化时间之前,将日期部分设置为一个固定的日期(例如1970年1月1日)。这样,Excel就不会显示日期部分了。以下是修改后的示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd h:mm");
String formattedDate = sdf.format(date);
System.out.println("Formatted time: " + formattedDate);
}
}
```
在这个示例中,我们将日期部分设置为1970年1月1日,并将时间格式设置为"yyyy-MM-dd h:mm"。这样,Excel将只显示时间部分,不会显示日期部分或秒数。
相关问题
poi3.8 XSSFWorkbook 单元格显示时间hh:mm,需要点击单元格时在公式栏显示时间hh:mm:ss
可以通过设置单元格格式来实现。在使用 XSSFWorkbook 创建单元格时,可以使用 `createCellStyle()` 方法创建一个新的单元格格式对象,然后使用 `setDataFormat()` 方法设置时间格式。例如,设置时间格式为 "hh:mm",可以使用 `setDataFormat(workbook.createDataFormat().getFormat("hh:mm"));`。这样,单元格中显示的时间格式为 "hh:mm",而在公式栏中显示的时间格式为 "hh:mm:ss"。
示例代码:
```java
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Sheet1");
XSSFRow row = sheet.createRow(0);
XSSFCell cell = row.createCell(0);
cell.setCellValue(new Date());
XSSFCellStyle style = workbook.createCellStyle();
style.setDataFormat(workbook.createDataFormat().getFormat("hh:mm"));
cell.setCellStyle(style);
workbook.write(new FileOutputStream("example.xlsx"));
workbook.close();
```
poi:3.8 怎么setvalue Date 显示HH:mm,点击显示HH:mm:ss
在POI 3.8版本中,你可以使用Cell的CellStyle来设置单元格的日期时间格式。以下是一个示例代码:
```java
LocalTime localTime = LocalTime.of(8, 0); // 假设时间为 08:00
Date date = Date.from(localTime.atDate(LocalDate.now()).atZone(ZoneId.systemDefault()).toInstant()); // 将LocalTime转换为Date
CellStyle cellStyle = workbook.createCellStyle(); // 创建一个新的CellStyle
cellStyle.setDataFormat(workbook.getCreationHelper().createDataFormat().getFormat("HH:mm")); // 设置日期时间格式为HH:mm,注意使用HH表示24小时制的小时数
Cell cell = row.createCell(0); // 假设要设置第一列的单元格
cell.setCellValue(date); // 设置单元格的值为Date类型
cell.setCellStyle(cellStyle); // 设置单元格的样式
```
上述代码中,我们首先将LocalTime对象转换为Date对象,并创建一个新的CellStyle对象。然后,我们使用`setDataFormat()`方法设置日期时间格式为"HH:mm",并将CellStyle设置为单元格的样式。最后,我们将Date对象设置为单元格的值。
这样,单元格的值显示HH:mm,当你点击单元格时,左上角的公式栏会显示HH:mm:ss。