我使用代码片段显示表格中的一些记录,并将表格导出到excel,其中一个字段是日期选择器,如果我没有在代码中指定格式,它将以日/月/年格式显示这就是我需要的,但是当我在 Excel 中导出 yhe 表时,它会以 m/d/Y 格式显示,即使 excel 将其识别为 d/m/Y 格式。我使用下面的代码来指定格式
echo "<td>" . date('d/m/Y', strtotime($payroll_date)) . ". </td>";
但是,当我在 Excel 中收到正确的格式时,它会在网站前端的 html 表格中显示 m/d/Y。
谢谢您的帮助。
您当前的 HTML 表格代码:
echo "<td>" . date('d/m/Y', strtotime($payroll_date)) . "</td>";
使用 PHPExcel 或 PhpSpreadsheet
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Assume $payroll_date is the value you want to export
$formatted_date = date('d/m/Y', strtotime($payroll_date));
// Create a new spreadsheet
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// Set the date in a cell as text
$sheet->setCellValueExplicit('A1', $formatted_date, \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
// Save the Excel file
$writer = new Xlsx($spreadsheet);
$writer->save('export.xlsx');
TYPE_STRING 确保日期被视为文本,而不是数字日期值。