最近,在做一个导入功能,在系统中使用PHPExcel类库,读取上传的Excel文件,然后进行字段映射,最后将Excel内的数据导入到系统中。其中,关于日期格式的导入,使我犯了难。
首先,如何导入日期,因为PHPExcel中日期格式在获取时得到的是数字,并不是日期字符串,于是,网上就有许多代码,用于将Excel中获取的数字转换成PHP使用的Unix Time,其实不必这么麻烦。PHPExcel中就有这样的方法:PHPExcel_Shared_Date::ExcelToPHP($value) 。可以直接使用。
然后将得到的结果用data函数就可以转换成日期了。
-----
注: 转换过的数据是时间戳!!!
如果你使用的是TP5.1 需要手动引入文件:
$ds = DIRECTORY_SEPARATOR;$path = Env::get('extend_path') . 'PHPExcel'. $ds;$this->excelPath = $path;require_once $path . 'PHPExcel.php';require_once $path . 'PHPExcel'. $ds . 'Writer'.$ds. 'IWriter.php';require_once $path . 'PHPExcel'. $ds . 'Writer'.$ds. 'Abstract.php';require_once $path . 'PHPExcel'. $ds . 'Writer'.$ds. 'Excel5.php';require_once $path . 'PHPExcel'. $ds . 'Writer'.$ds. 'Excel2007.php';require_once $path . 'PHPExcel'. $ds . 'IOFactory.php';require_once $path . 'PHPExcel'. $ds . 'Shared'. $ds. 'Date.php'; //Date