使用PHPExcel,我一個試圖從Excel文件讀取數據,並使用下面的代碼保存在MySQL數據庫:PHPExcel庫獲取日期
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
$i=0;
$arr =array("","","","","","","");
for ($row = 1; $row <= $highestRow; $row++)
{
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
foreach($rowData[0] as $k=>$v)
{
if(PHPExcel_Shared_Date::isDateTime($v))
{
$arr[$i] = date('Y-m-d', PHPExcel_Shared_Date::ExcelToPHP($InvDate));
}
else
$arr[$i] = $v;
$i++;
}
此代碼提供了以下錯誤:
Catchable fatal error: Argument 1 passed to PHPExcel_Shared_Date::isDateTime() must be an instance of PHPExcel_Cell, double given, called in ............
當我讀取列如下:
foreach($rowData[0] as $k=>$v)
{
$arr[$i] = $v;
$i++;
}
即使我設置單元格格式的日期列讀取爲普通文本迄今在excel中。總之,我在我的excel文件的每條記錄中都有3個日期列,可能有日期或空白。
excel的日期列的格式爲:d-m-Y。我希望它的格式是:'Y-m-d',否則我將不得不爆炸它並手動轉換它。該日期將最終存儲到mysql日期類型列中。
我也在stackoverflow上閱讀了幾篇文章,但無法獲得完美的解決方案。
你可以var_dump($ rowData);得到它後? – user4035