【问题标题】:excel date showing different formats in different machinesexcel日期在不同机器上显示不同格式
【发布时间】:2021-05-20 23:06:23
【问题描述】:

我正在使用电子表格格式单元格值这样在 excel 中输入日期

<cfset spreadsheetSetCellValue(objxls, "#datecreated#", 2,1,"Date")>

它可以工作,但我注意到了一些事情,我有两台机器,在一台机器中日期显示为:02-19-2021

在其他excel中显示19/02/2021

我注意到它似乎正在使用 windows 指定的语言环境。无论语言环境如何,我如何强制在所有机器上使用dd/mm/yyyy 的格式

我可以在 ColdFusion 中使用一些东西来使它工作吗..

谢谢

【问题讨论】:

  • 这取决于用户在 Excel 中应该能够对数据执行什么操作。如果他们需要执行任何日期功能,请不要执行任何操作。如果他们只需要看一下,那么 Adrian 的答案就可以了。
  • ..how can i force to use the format of dd/mm/yyyy... 我想你回答了你自己的问题:即。 apply a format。它看起来不像代码那样做,所以你最终得到了默认值,它因机器和语言环境而异。
  • 您使用的是什么版本的 ColdFusion、JDK 和操作系统?
  • 我是coldfusion 2016,我不知道windows和jdk

标签: coldfusion lucee


【解决方案1】:

您应该能够格式化日期。

<cfset spreadsheetSetCellValue(objxls, "#dateFormat(datecreated, 'dd/mm/yyyy')#", 2,1,"Date")>

【讨论】:

  • 好的,我试过了,但问题仍然存在,如果在另一台计算机上打开,它会以 mm-dd-yyyy 格式显示日期
  • 在格式化日期前添加单引号。
  • 格式在使用数据类型“日期”时不起作用,因为 CF 只是在填充单元格之前将值解析回日期对象。就显示而言,听起来 CF 正在使用 locale specific date formats 之一作为“日期”单元格的默认值。使用正确的日期格式应用 SpreadSheetSetCellFormat(...) 应该可以工作
  • 好吧,每天都学点新东西……不知为何,确实似乎奏效了。完全不知道为什么。将不得不深入研究 Adob​​e 的黑魔法,看看它是否也适用于不同的语言环境设置;-)
猜你喜欢
  • 2012-12-10
  • 2015-03-19
  • 2013-10-21
  • 1970-01-01
  • 2012-04-22
  • 2012-06-18
  • 2013-07-25
  • 2022-10-17
  • 2020-10-01
相关资源
最近更新 更多