Php 尝试用喷口写入日期单元格
此代码使用spot库编写xlsx文件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
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;
}