最近需要導入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