[英]How can I change the datetime format in PHPSpreadsheet?
I use PHPspreadsheet to covert a xlsx file to a csv file.我使用 PHPspreadsheet 将 xlsx 文件转换为 csv 文件。
In column "I" I have dates and times like [26-04-2019 07:57:35]
how can I change this to [2019-04-26 07:57:35]
?在“我”列中,我有类似
[26-04-2019 07:57:35]
日期和时间,我该如何将其更改为[2019-04-26 07:57:35]
?
I want to change this for uploading to MYSQL.我想将其更改为上传到 MYSQL。
use \PhpOffice\PhpSpreadsheet\Reader\Xlsx;
use \PhpOffice\PhpSpreadsheet\Writer\Csv;
$xls_file = "$file";
$reader = new Xlsx();
$spreadsheet = $reader->load($xls_file);
$loadedSheetNames = $spreadsheet->getSheetNames();
$writer = new Csv($spreadsheet);
foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
$writer->setSheetIndex($sheetIndex);
$writer->save($loadedSheetName.'.csv');
}
You will need to loop through each row of each sheet and change column I
to the format needed for MySQL.您需要遍历每个工作表的每一行并将列
I
更改为 MySQL 所需的格式。
foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
$writer->setSheetIndex($sheetIndex);
$worksheet = $spreadsheet->getActiveSheet();
$highestRow = $worksheet->getHighestRow(); // e.g. 10
for ($row = 1; $row <= $highestRow; ++$row) {
$datenow = $worksheet->getCellByColumnAndRow(9,$row)->getValue();
$worksheet->setCellValue('I' . $row,date('Y-m-d h:i:s',strtotime($datenow)));
} // end of for loop through the sheet
$writer->save($loadedSheetName.'.csv');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.