最近需要导入excel订单信息!

按官方模块的提示安装好phpexcel、libraries模块,并将PHPExcel放到/site/all/libraries/PHPEXcel里面!终于可以导入excel文件了

但发现另外一个问题,因为导入excel的列都是文本格式,需要把某一列格式化为时间格式,然后用PHPExcel_Shared_Date::ExcelToPHP格式化时间,

结果报了Fatal error: Class 'Drupal\order\Form\PHPExcel_Shared_Date' not found

搜索了好久都没结果,最后打印PHPExcel_Autoloader的自动加载的$pClassName名称后,发现加载的路径不对,也终于知道是怎么回事了

在drupal8里,因为使用了命名空间、需要在PHPExcel_Shared_Date加前面一个\才能正常引用PHPExcel,要不然,程序会去当前程序目录加载PHPExcel

最终解决代码如下:

\PHPExcel_Shared_Date::ExcelToPHP($value['登记日期'])- 28800

相关资料:https://www.drupal.org/project/phpexcel