excel的PHPExcel自动日期格式

时间:2011-05-19 12:32:54

标签: php phpexcel date-formatting

我正在使用PHPExcel创建Excel文件,我有一些“日期”列保留日期值。但是,PHPExcel强制我定义一个日期格式来处理日期字段。例如

const FORMAT_DATE_YYYYMMDD2             = 'yyyy-mm-dd';
const FORMAT_DATE_YYYYMMDD              = 'yy-mm-dd';
const FORMAT_DATE_DDMMYYYY              = 'dd/mm/yy';
const FORMAT_DATE_DMYSLASH              = 'd/m/y';
const FORMAT_DATE_DMYMINUS              = 'd-m-y';
const FORMAT_DATE_DMMINUS               = 'd-m';
const FORMAT_DATE_MYMINUS               = 'm-y';
const FORMAT_DATE_XLSX14                = 'mm-dd-yy';
const FORMAT_DATE_XLSX15                = 'd-mmm-yy';
const FORMAT_DATE_XLSX16                = 'd-mmm';

但是,这是有限的,因为您必须使用这些格式之一。我想要的是,给PHPExcel的日期没有格式化(或使用一些特殊的格式类型),Excel将根据用户当前的区域设置显示它。如果我使用这种格式之一,那么居住在美国的人会阅读他不熟悉的不同时间格式或者生活在不同国家/地区的用户的相同情况。简而言之,excel必须在用户的当前语言环境中显示日期。这有可能吗?我用谷歌搜索但没有机会。

感谢。

1 个答案:

答案 0 :(得分:0)

  

然而,这是有限的,因为你   必须使用这些格式之一。

您不限于使用常量。与在MS Excel中为日期定义自定义格式掩码的方式相同,您也可以在PHPExcel中执行此操作。你只需要自己定义掩蔽刺痛。

  

我想要的是,给出日期   PHPExcel没有格式化(或使用   一些特殊的格式化)和   Excel会根据用户显示它   当前的语言环境。如果我使用其中一个   这个家伙生活在美国会格式化   读取不同的时间格式   他不熟悉或不熟悉   住在这里的用户的情况   不同的国家。

但是,当您在MS Excel中根据MS Excel区域设置查看文件时,无法自动更改该日期格式掩码。

  

总之,不知何故,excel必须表现出来   日期在用户的当前区域设置中。是   这有可能吗?

MS Excel会为您提供此选项吗?如果是这样,您将如何在MS Excel中执行此操作?我不知道Excel的每一个功能,所以它可能是可能的;但我不知道你会怎么做。