php - 如何更改 PHPSpreadsheet 中的日期时间格式?
问题描述
我使用 PHPspreadsheet 将 xlsx 文件转换为 csv 文件。
在“我”列中,我有日期和时间,例如[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');
}
解决方案
您将需要遍历每张工作表的每一行并将列更改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');
}
推荐阅读
- c# - 将数据透视表字段计算设置为 DifferenceFrom next
- javascript - mapDispatchToProps 中的链式胖箭头给我一个错误
- javascript - 函数式编程如果
- python - 如何在numpy中展平对象数组?
- selenium - 在检查元素的不可见性时,Web Driver 不会等待指定的时间限制
- python - 如何使用 Active Directory 集成身份验证通过 python SQL alchemy 连接到 Azure sql 数据库
- regex - 我应该使用哪种模式(正则表达式)来拆分使用“:”字符作为分隔符的小文本?
- javascript - JS:按每个类别的最大值过滤对象数组
- javascript - Vue Router 钩子未在组件中触发,使用 Typescript
- javascript - 即使验证无效,也会发送 Jquery 表单