Excel导入MySQL:插入日期为0000-00-00
我使用这个库导入了一个Excel文件(.xlsx)并插入到MySQL中。“日期”字段有两个问题: 1-在excel工作表中,我尝试将日期格式更改为所需的格式。保存后,单元格显示我需要的格式Excel导入MySQL:插入日期为0000-00-00,mysql,date,phpexcel,Mysql,Date,Phpexcel,我使用这个库导入了一个Excel文件(.xlsx)并插入到MySQL中。“日期”字段有两个问题: 1-在excel工作表中,我尝试将日期格式更改为所需的格式。保存后,单元格显示我需要的格式(yyyy/mm/dd),但当我双击编辑它们时,它们再次更改为(mm/dd/yyyy)之前的格式 2-通过PHPExcel将文件导入MySQL时,除了插入0000-00-00的日期列之外,所有列都正确插入。Excelsheet中的格式与MySQL中的格式相同,但输入的全是零 请帮忙 将日期格式更改为yyyy-m
(yyyy/mm/dd)
,但当我双击编辑它们时,它们再次更改为(mm/dd/yyyy)
之前的格式
2-通过PHPExcel将文件导入MySQL时,除了插入0000-00-00
的日期列之外,所有列都正确插入。Excelsheet中的格式与MySQL中的格式相同,但输入的全是零
请帮忙 将日期格式更改为
yyyy-mm-dd
,将文件另存为CSV并导入数据库。PHPExcel中存储的值是Excel序列化的日期时间值(一个浮点数,表示1900年1月1日或9004年1月1日后的天数,具体取决于使用的是Windows还是Mac日历)。更改格式只是更改此值的显示方式
您需要提前知道单元格是否包含日期,或者使用
PHPExcel\u Shared\u date::isDateTime()
方法对其进行测试,并对其进行适当转换。然后,您可以使用getFormattedValue()
检索它,以格式化字符串的形式返回值;或者使用内置的转换函数将其转换为unix时间戳(PHPExcel\u Shared\u Date::ExcelToPHP()
)或PHP日期时间对象(PHPExcel\u Shared\u Date::ExcelToPHPObject()
),在MySQL INSERT/UPDATE语句中使用之前,您可以使用标准的PHP日期格式化函数对其进行格式化。是。用于在Excel中查看的格式与导入方式无关。您需要将excel文件中的实际值更改为yyyy-mm-dd,或者在插入数据库之前自己进行转换。@MikeBrant这就是问题所在。我将实际值更改为需要的值并保存。但当再次编辑时,它又回到了原来的版本。我把我的Excel表格转换成CSV格式,然后阅读这些表格,但我想为了得到准确的日期值,我还是要使用Excel库