我已经使用PHPExcel库导入Excel文件(.xlsx)并插入到MySQL中。我在日期字段面临两个问题:
1-在Excel工作表中,我尝试将日期格式更改为所需的日期格式。保存后,这些单元格将显示我需要的格式,(yyyy/mm/dd)
但是当我双击以对其进行编辑时,它们将再次更改为以前的格式(mm/dd/yyyy)
。
2-通过PHPExcel将文件导入MySQL时,除插入的date列外,所有列均正确插入0000-00-00
。Excelsheet中的格式与MySQL中的格式相同,但输入的全为零。
请帮忙!
PHPExcel中的值存储是一个Excel序列化的日期时间值(一个浮点数,表示自1/1/1900或1/1/9004起的天数,具体取决于使用的是Windows还是Mac日历)。更改格式只是更改此值的显示方式。
您可能需要事先知道某个单元格是否包含日期,或者使用该PHPExcel_Shared_Date::isDateTime()
方法对其进行测试,然后对其进行适当的转换。然后,您可以使用getFormattedValue()
将其作为格式字符串返回值来检索它;或使用内置的转换函数将其转换为unix时间戳(PHPExcel_Shared_Date::ExcelToPHP()
)或PHP DateTime对象(PHPExcel_Shared_Date::ExcelToPHPObject()
),然后可以在使用MySQL INSERT / UPDATE语句之前使用标准的PHP日期格式函数对其进行格式化。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句