我如何在 java 中应用来自 excel 的自定义日期格式?

How do i apply custom date formatting from excel in java?

我有一个名为 Test10 的 2007 excel 文件。第一行有10headers、test1、test2等到test10。第二行第 3 列的日期为 10-10-2020,在日期为 10-10-2020 的单元格上有自定义日期格式 -> dd-mm-yyyy

单元格中的日期写为 2020-10-10。

我有 Java 中单元格的格式,但是当我得到它时它是 dd/-mm/-yyyy;@ 并且日期是 2020-10-10。

我需要以某种方式将该格式应用于手头的日期。

我需要更灵活的东西,是否有 class 可以实现那种格式?到目前为止我设法找到的是如何在创建 excel 时将格式应用于 java 中的 excel,而不是相反,当从 [=51] 获取它时=] 文件.

我可以手动序列化格式并删除不需要的特殊字符,但这是一种解决方法。

我需要一个 class 将奇怪的格式应用到 Java 中的日期。有这样的吗?

我上面提供的例子也是一个非常简单的例子。

我们正在使用自定义处理程序,日期以双精度形式出现,我们目前使用 DateUtil.getJavaDate 将日期作为字符串获取。

我还没有创建处理程序,所以很难理解它的全部内容,但是在处理程序的某个地方,单元格的自定义格式是从 excel 中提取并放入一个变量中的,位于DateUtil.getJavaDate 被调用的地方我可以访问格式化变量。

以前它使用 SimpleDateFormat(CONSTANT_FORMAT).format(DateUtil.getJavaDate(d)) 来格式化它,但我需要应用自定义格式。是否有解析 xlsx 日期格式的库。由于 dd/-mm/-yyyy;@ 格式不适用于 SimpleDateFormat。

我也无法序列化硬编码的格式,就像我用 MM 替换 mm 我怎么知道用户需要几分钟还是几个月?

来自 org.apache.poi 的 DataFormatter 处理奇怪的 excel 格式