1.composer のインストール PHPExcel
composer をダウンロードしてインストールします
次に、cmd をプロジェクトのルート ディレクトリに切り替えて、コマンド
composer require phpoffice/phpexcel
を実行します。 注 :
1. OpenSSL の実行時にエラーが発生する場合があります。php.ini に移動し、extension=php_openssl.dll 拡張子を開いてセミコロンを削除してください。
#2. まだ可能です。一致するパッケージが見つからないというエラーが発生します。これは、phpstudy の nts バージョンをローカルで使用しているためです。このバージョンは特別で、Apache と nginx の両方をサポートしています。PHP のみです。ローカル仮想環境の開発とテストに使用されるバージョンであるため、一致することができないため、切り替える必要があります。通常のバージョンは、コマンド
<div class="layui-form-item" >
<label class="layui-form-label">导入专线</label>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" name="myfile" class="layui-btn" id="myfile"><i class="layui-icon"></i>上传文件</button>
</div>
</div>
</div>
<script type="text/javascript">
layui.use(['form','upload'],function(){
var form=layui.form;
var upload=layui.upload;
upload.render({ //允许上传的文件后缀
elem: '#myfile'
,url: "{:url('Logisticscompany/inserline')}"
,accept: 'file' //普通文件
,exts: 'xls|excel|xlsx' //只允许上传压缩文件
,done: function(res){
if(res.code==1){
layer.msg('上传成功,已解析数据',{icon:6});
location.href="{:url('Logisticscompany/lists')}";
}else{
layer.msg('解析失败',{icon:5});
}
}
});
form.on('submit(formsub)',function(data){
layer.msg('导入数据具体详情未协商确认,待确认后处理');
return false;
})
})
</script>
/** * excel导入网点 */ public function insert(){ if(request() -> isPost()) { vendor("PHPExcel.PHPExcel"); //方法一 $objPHPExcel =new \PHPExcel(); //获取表单上传文件 $file = request()->file('file'); $info = $file->validate(['ext' => 'xlsx,xls'])->move(ROOT_PATH . 'public'); //上传验证后缀名,以及上传之后移动的地址 E:\wamp\www\bick\public if($info) { $exclePath = $info->getSaveName(); //获取文件名 $file_name = ROOT_PATH . 'public' . DS . $exclePath;//上传文件的地址 $file_types = explode ( ".", $_FILES ['file'] ['name'] ); $file_type = $file_types [count ( $file_types ) - 1]; if($file_type=='xls'){ $objReader =\PHPExcel_IOFactory::createReader("Excel5"); } else if($file_type=='xlsx'){ $objReader =\PHPExcel_IOFactory::createReader("Excel2007"); } $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8 $excel_array=$obj_PHPExcel->getSheet(0)->toArray(); //转换为数组格式 array_shift($excel_array); //删除第一个数组(标题); $data = []; $i=0; foreach($excel_array as $k=>$v) { $data[$k]['viewName'] = $v[0]; $data[$k]['cityId'] = $v[1]; $data[$k]['stationAddress'] = $v[2]; $data[$k]['linkMan'] = $v[3]; $data[$k]['linkPhone'] = $v[4]; $data[$k]['longitude'] = $v[5]; $data[$k]['latitude'] = $v[6]; $data[$k]['userId'] = $v[7]; $data[$k]['remark'] = $v[8]; $i++; } $re= Db::name("htt_freightstation")->insertAll($data); if($re){ $msg=[ 'code'=>1, 'msg'=>'已获取信息', ]; return json_encode($msg); } else{ $msg=[ 'code'=>0, 'msg'=>'获取信息失败', ]; return json_encode($msg); } }else { echo $file->getError(); } } return $this->fetch('lists'); }
以上がTP5 (layui) Excel インポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。