Php 尝试用喷口写入日期单元格

Php 尝试用喷口写入日期单元格,php,Php,此代码使用spot库编写xlsx文件 foreach ($results as $result){ if(isset($result->id)) unset ($result->id); $result = set_excel_type($result); $row = array_values((array)$result); $xls->addRow($row); } 及 问题在于,诸如$element->fecha_de

此代码使用spot库编写xlsx文件

foreach ($results as $result){
    if(isset($result->id))
        unset ($result->id);
    $result = set_excel_type($result);
    $row = array_values((array)$result);
    $xls->addRow($row); 
}


问题在于,诸如$element->fecha_de_registro之类的日期字段像字符串一样写入xlsx文件。可以像写入日期单元格一样写入吗?

从今天起,Spout xlsx writer不支持设置写入单元格的数据类型。因此,如果您给它传递一个字符串,它将为单元格使用“字符串”类型,即使该字符串实际上是一个格式化日期。

似乎有点像……使用
$fecha->format('c')
日期可以排序,但仍然是一个字符串,我需要这种格式
d-m-Y
,使用这种格式,字符串日期无法使用
spout
而不是
xslxwriter
function set_excel_type($element) {

        if (isset($element->encuestas_expiradas)) {
            $element->encuestas_expiradas = intval($element->encuestas_expiradas);
        }

        if (isset($element->encuestas_finalizadas)) {
            $element->encuestas_finalizadas = intval($element->encuestas_finalizadas);
        }

        if (isset($element->encuestas_validas)) {
            $element->encuestas_validas = intval($element->encuestas_validas);
        }
        if (isset($element->fecha_de_registro)) {
            $fecha = DateTime::createFromFormat('d-m-Y', $element->fecha_de_registro);
            $element->fecha_de_registro = $fecha->format('Y/m/d');
        }


        return $element;
    }