PHPExcel所需日期年月日

PHPExcel所需日期年月日,php,excel,phpexcel,date-formatting,Php,Excel,Phpexcel,Date Formatting,我正在使用PHPExcel Lib下载excel工作表,并要求在我的下载excel工作表中使用列日期格式,如25-May-17,而不是25-05-17 我能够添加数字格式25-05-17,但不像2017年5月25日,下面是我的代码 $objPHPExcel->getActiveSheet() ->getStyle('V'.$i) ->getNumberFormat() ->setFormatCode( PHPExcel_

我正在使用PHPExcel Lib下载excel工作表,并要求在我的下载excel工作表中使用列日期格式,如25-May-17,而不是25-05-17

我能够添加数字格式25-05-17,但不像2017年5月25日,下面是我的代码

      $objPHPExcel->getActiveSheet()
    ->getStyle('V'.$i)
    ->getNumberFormat()
    ->setFormatCode(
        PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY
    );
我在Lib类中找不到常量

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';
有人能帮我把日期定在d-M-yy(17年5月25日)这样吗

M
是一个月的简短文本表示形式,三个字母从一月到十二月,但是使用
Y
你仍然会得到一个4位数的年份

为什么不直接传递您的格式
d-M-y

$objPHPExcel->getActiveSheet()
    ->getStyle('V'.$i)
    ->getNumberFormat()
    ->setFormatCode('d-M-y');

您可以直接在代码中使用所需的格式,而不是使用PHPExcel_Style_NumberFormat常量可访问的预定义格式之一

$objPHPExcel->getActiveSheet()
    ->getStyle('V'.$i)
    ->getNumberFormat()
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_DDMMYYYY);
将成为:

$objPHPExcel->getActiveSheet()
    ->getStyle('V'.$i)
    ->getNumberFormat()
    ->setFormatCode('d-M-yy');

请注意,您可能希望检查并正确设置区域设置,以便格式中的“M”为您提供英文月份名称。

您不受预定义常量的约束;这些只是MS Excel识别的一些格式字符串。。。一份可能的面具的综合清单是多余的。。。。不必要的。。。您所做的只是将字符串值传递给
setFormatCode()
方法,这样您就可以传递字符串文本

所需格式的MS Excel掩码为
dd mmm yyyy
,您可以将其设置为字符串文字,而不使用任何常量:

$objPHPExcel->getActiveSheet()
    ->getStyle('V'.$i)
    ->getNumberFormat()
    ->setFormatCode('dd-mmm-yyyy');

请注意,MS Excel本身有一个数字格式代码的“自定义”选项,允许您以完全相同的方式设置字符串文字

谢谢标记,您保存了我的时间标记嘿标记,我可以像4月17日25日那样添加我的单元格值,但缺少破折号(-),你能告诉我如何保持,而不是空间,它应该显示一个破折号,完全如我所示;但是你可以试着用“嘿,马克,快来了,我把dd-mmm-yy错当成dd-mmm-yy了。”。非常感谢:)@MarkBaker我是如何在没有loopHey Abra的情况下设置列的所有单元格的格式的。我通过了d-M-y,但它返回的值是25-05-y,所以这是我的问题。我不知道它为什么会这样回来。
$objPHPExcel->getActiveSheet()
    ->getStyle('V'.$i)
    ->getNumberFormat()
    ->setFormatCode('dd-mmm-yyyy');