最近深圳網站建設在處理一個項目,需要讀取EXCEL數據并導入數據庫中。因為EXCEL表格數據列數超過了Z,使用傳統方式無能讀取。今天特地和大家分享最后的解決方案,代碼如下:
本方法使用的是PHPExcel插件,請自行下載。
public static function import_excel($file){
// 判斷文件是什么格式
$type = pathinfo($file);
$type = strtolower($type["extension"]);
$type=$type==='csv' ? $type : 'Excel5';
ini_set('max_execution_time', '0');
Vendor('PHPExcel.PHPExcel');
// 判斷使用哪種格式
$objReader = \PHPExcel_IOFactory::createReader($type);
$objPHPExcel = $objReader->load($file);
$sheet = $objPHPExcel->getSheet(0);
// 取得總行數
$highestRow = $sheet->getHighestRow();
// 取得總列數,這里是關鍵兩行
$highestColumn = $sheet->getHighestColumn();
$highestColumn = \PHPExcel_Cell::columnIndexFromString($highestColumn);
//循環讀取excel文件,讀取一條,插入一條
$data=array();
//從第一行開始讀取數據
for($j=1;$j<=$highestRow;$j++){
//從A列讀取數據
for($k=0;$k<=$highestColumn;$k++){
// 讀取單元格
//$data[$j][]=$objPHPExcel->getActiveSheet()->getCell($k,$j)->getValue();
$data[$j][]=$sheet->getCellByColumnAndRow($k,$j)->getValue();
}
}
return $data;
}