Как я могу изменить формат даты и времени в таблице PHPS? - PullRequest
0 голосов
/ 03 мая 2019

Я использую PHPspreadsheet для преобразования файла xlsx в файл csv.

В столбце "I" у меня есть даты и время, например [26-04-2019 07:57:35], как я могу изменить это на [2019-04-26 07:57:35]?

Я хочу изменить это для загрузки в 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');
}

1 Ответ

0 голосов
/ 06 мая 2019

Вам нужно будет перебрать каждую строку каждого листа и изменить столбец 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');
}
...