java - apache poi excel小时格式设置单元格值java

标签 java excel apache-poi

我正在研究 Excel 生成,也在 Excel 中完成所有功能,但出现了一个问题。我想设置像 HH:MM 这样的单元格值,而不是日期。我有一个像 12:45,36:30,102:50 这样的字符串。但是,对于每个单元格,我想检测这些单元格在 Excel 中的时间格式是否大于 24 小时,如果我选择这些单元格,则在 Excel 中显示小时数总和。我不知道该怎么做。我在堆栈 ( HH:MM:SS xls reading using Apache POI ) 上找到了类似的帖子,但这篇帖子只展示了如何读取这些单元格。我想设置一个单元格值,例如大于 24 小时的格式,仅设置小时和分钟,例如 25:00、205:00、152:30。

你能帮帮我吗?非常感谢您的效果!

最佳答案

将评论提升为答案....

Excel 将日期存储为自 1900 年或 1904 年以来的整数天,具体取决于设置,大概......(其中存在一些闰年问题)。 Excel 将时间存储为一天的小数部分。因此,在 1900 窗口文件中,取决于使用的格式字符串

0.1 = 02:24:00
0.5 = 12:00:00
1.5 = 1900-01-02 12:00:00
1.5 = 36:00:00

因此,如果您要存储和显示 36 小时,计算出一天中的几分之一 (1.5),然后对其应用支持 >36 小时的格式字符串。格式为 HH:MM,您将得到 12:00。格式为 [HH]:MM,您将得到 36:00

使用 Excel 计算出您需要的格式字符串 - POI 只是将您提供的格式字符串写入文件,Excel 会像您在 Excel 中编写的那样呈现它!

关于java - apache poi excel小时格式设置单元格值java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22343347/

相关文章:

java - optaplanner护士排类系统中的XML文件可以与前台实时交互

java - Java中null到string的转换

java - excel中的数字单元格值读取异常,小数点后附加额外数字

java - 如何使用 Java Apache POI 从 Excel 中删除整行?

java - 实现 java.awt.Graphics 类

java - 升级到 Spring Boot 2.0.2 后,Spring Security .permitAll() 不再有效

excel - 从计时器子调用时,ThisWorkbook.RefreshAll 不起作用

excel - EXCEL筛选器列-包含大于X的数字

excel - 如果字符串包含则使用 Case 语句

java - 连字符转换为菱形黑色问号,同时使用apache POI设置Excel列标题