mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据
首先:在extend里面引入PHPexcel文件,直接根目錄導入進去
html創建上傳按鈕
上傳excel
上傳文件
立即提交
重置
layui.use(['form','upload'],function(){
var form=layui.form;
var upload=layui.upload;
upload.render({ //允許上傳的文件后綴
elem: '#myfile'
,url: "{:url('sale/do_upload')}"
,accept: 'file' //普通文件
,exts: 'xls|excel|xlsx' //只允許上傳壓縮文件
,done: function(res){
if(res.code==1){
layer.msg('上傳成功,已解析數據',{icon:6});
}else{
layer.msg('解析失敗',{icon:5});
}
}
});
form.on('submit(formsub)',function(data){
layer.msg('導入數據具體詳情未協商確認,待確認后處理');
return false;
})
})
在上傳后的sale/do_upload中去進行解析上傳的excel
public function do_upload(){
//引入文件
\think\Loader::import('PHPExcel.PHPExcel');
$objPHPExcel = new \PHPExcel();
//獲取表單上傳文件
$file = request()->file('file');
$info = $file->validate(['ext' => 'xlsx,xls'])->move(ROOT_PATH . 'public' . DS . 'uploads');
//數據為空返回錯誤
if(empty($info)){
$output['status'] = false;
$output['info'] = '導入數據失敗~';
$this->ajaxReturn($output);
}
//獲取文件名
$exclePath = $info->getSaveName();
//上傳文件的地址
$filename = ROOT_PATH . 'public' . DS . 'uploads'.DS . $exclePath;
$extension = strtolower( pathinfo($filename, PATHINFO_EXTENSION) );
\think\Loader::import('PHPExcel.IOFactory.PHPExcel_IOFactory');
if ($extension =='xlsx') {
$objReader = new \PHPExcel_Reader_Excel2007();
$objExcel = $objReader ->load($filename);
} else if ($extension =='xls') {
$objReader = new \PHPExcel_Reader_Excel5();
$objExcel = $objReader->load($filename);
}
$excel_array=$objExcel->getsheet(0)->toArray(); //轉換為數組格式
array_shift($excel_array); //刪除第一個數組(標題);
array_shift($excel_array); //刪除th
$data=[];
foreach ($excel_array as $k=>$v){
$data[$k]["danhao"]=$v[0];//單號
$data[$k]["type_name"]=$v[1];//類型名稱
$data[$k]["name"]=$v[2];
$data[$k]["number"]=$v[3];
$data[$k]["price"]=$v[4];
$data[$k]["danwei"]=$v[0];
$data[$k]["create_user"]=$v[5];
$data[$k]["create_time"]=$v[6];
$data[$k]["remark"]=$v[7];
}
$msg=[
'code'=>1,
'msg'=>'已獲取信息',
];
$msg['data']['src']=$filename;
$msg['data']['data']=$data;
return json_encode($msg);
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 8 安装 Docker
- 下一篇: Docker Consul 安装及使用服