<form id="xml_config_search" action="upload" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
選擇文件:<input type="file" name="file" value="">
<input type="submit" class="btn btn-primary" value="上傳">
</form>
public function upload(Request $request){
//接收前台文件
$ex = $_FILES['file'];
//重設置文件名
$filename = time().substr($ex['name'],stripos($ex['name'],'.'));
$path = 'upload/excel/'.$filename;//設置移動路徑
move_uploaded_file($ex['tmp_name'],$path);
//表用函數方法 返回數組
$exfn = $this->_readExcel($path);
// $this->redirect('input');
}
//創建一個讀取excel數據,可用於入庫
public function _readExcel($path)
{
//引用PHPexcel 類
$objPHPExcel = new \PHPExcel();
$type = 'Excel5';//設置為Excel5代表支持2003或以下版本,Excel2007代表2007版
$ext = explode('.',$path);
if($ext[1]=='xlsx'){
$type = 'Excel2007';
}
$xlsReader = \PHPExcel_IOFactory::createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets = $xlsReader->load($path);
//開始讀取上傳到服務器中的Excel文件,返回一個二維數組
$dataArray = $Sheets->getSheet(0)->toArray();
unset($dataArray[0]);
$newArr = [];
foreach($dataArray as $k=>$v){
$newArr[] = ['userid'=>$v[0],'name'=>$v[1]];
}
return $newArr;
}