phpexcel讀取資料入庫
阿新 • • 發佈:2018-11-09
public function upexcel(){
//上傳檔案
$upload = new \Think\Upload();// 例項化上傳類
$upload->maxSize = 3145728 ;// 設定附件上傳大小
$upload->exts = array('xls', 'xlsx');// 設定附件上傳型別
$upload->rootPath = './Uploads/'; // 設定附件上傳根目錄
$upload->savePath = ''; // 設定附件上傳(子)目錄
$info = $upload->upload();
if(!$info) {// 上傳錯誤提示錯誤資訊
$this->error($upload->getError());
}else{// 上傳成功
$path = './Uploads/'.$info['exfile']['savepath'].$info['exfile']['savename'];
}
//讀取表單入庫資料
vendor('phpExcel.PHPExcel.IOFactory'); //這裡要去下載phpExcel檔案到\ThinkPHP\Library\Vendor\phpExcel
date_default_timezone_set('PRC');
try {
$inputFileType = \PHPExcel_IOFactory::identify($path);
$objReader = \PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($path);
} catch(Exception $e) {
die(pathinfo($inputFileName,PATHINFO_BASENAME).$e->getMessage());
}
$sheet = $objPHPExcel->getSheet(0); // 讀取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數
// 獲取一行的資料
for ($row = 1; $row <= $highestRow; $row++){
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
p($rowData);
echo "<br/>";
}
}
//上傳檔案
$upload = new \Think\Upload();// 例項化上傳類
$upload->maxSize = 3145728 ;// 設定附件上傳大小
$upload->exts = array('xls', 'xlsx');// 設定附件上傳型別
$upload->rootPath = './Uploads/'; // 設定附件上傳根目錄
$upload->savePath = ''; // 設定附件上傳(子)目錄
$info = $upload->upload();
if(!$info) {// 上傳錯誤提示錯誤資訊
$this->error($upload->getError());
}else{// 上傳成功
$path = './Uploads/'.$info['exfile']['savepath'].$info['exfile']['savename'];
}
//讀取表單入庫資料
vendor('phpExcel.PHPExcel.IOFactory'); //這裡要去下載phpExcel檔案到\ThinkPHP\Library\Vendor\phpExcel
date_default_timezone_set('PRC');
try {
$inputFileType = \PHPExcel_IOFactory::identify($path);
$objReader = \PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($path);
} catch(Exception $e) {
die(pathinfo($inputFileName,PATHINFO_BASENAME).$e->getMessage());
}
$sheet = $objPHPExcel->getSheet(0); // 讀取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數
// 獲取一行的資料
for ($row = 1; $row <= $highestRow; $row++){
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
p($rowData);
echo "<br/>";
}
}