导入按钮
<button class=\"btn btn-info\" type=\"button\" id=\"import\" data-toggle=\"modal\" data-target=\"#myModal\">导入</button>
模态框
<!-- Modal --> <div class=\"modal fade\" id=\"myModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\"> <div class=\"modal-dialog\" role=\"document\"> <div class=\"modal-content\"> <div class=\"modal-header\"> <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button> <h4 class=\"modal- \" id=\"myModalLabel\">导入</h4> </div> <div class=\"modal-body\"> <div>导入格式如下</div> <table class=\"table table-bordered\"> <tr> <th>编号</th> <th>姓名</th> <th>手机号</th> <th>性别</th> <th>出生日期</th> </tr> <tr> <td>1</td> <td>小李</td> <td>18888888888</td> <td>男</td> <td>2013年12月20日</td> </tr> </table> <form action=\"#\" method=\"post\" id=\"file-form\" enctype=\"multipart/form-data\"> <div class=\"form-group\"> <label class=\" control-label\" style=\"width:85px;\">上传文件<sup>*</sup></label> <div class=\"\"> <input type=\"file\" name=\"excel\" style=\"display:block;\" /> </div> </div> </form> </div> <div class=\"modal-footer\"> <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\" id=\"file-import\">确定</button> <!--<button type=\"button\" class=\"btn btn-danger\" id=\"editUser\">确定</button>--> </div> </div> </div> </div>
弹出模态框,选择文件,点击确定
//导入 $(\'#file-import\').on(\'click\',function(){ var fileFlag = false; fileFlag = $(\"input[name=\'excel\']\").val(); if(!fileFlag) { alert( \'请选择文件!\'); return false; } // 创建 var form_data = new FormData(); // 获取文件 var file_data = $(\"input[name=\'excel\']\").prop(\"files\")[0]; // 把所以表单信息 form_data.append(\"excel\", file_data); $.ajax({ url:\'/Admin/import\', type:\'post\', dataType:\'json\', processData: false, // 注意:让jQuery不要处理数据 contentType: false, // 注意:让jQuery不要设置contentType data: form_data, success:function(info){ console.log(info); alert(info.msg); if(info.code == 1){ window.location.reload(); } } }) });
PHP控制器
/** * 导入 */ public function import(){ $name = substr(strrchr($_FILES[\'excel\'][\'name\'], \'.\'), 1); $file = $_FILES[\'excel\'][\'tmp_name\']; $data = $this->excel($name,$file); if(!$data){ return $this->ajaxReturn([\'code\'=>-1,\'msg\'=>\'文件格式不正确!\']); } foreach($data as &$v){ $dateArr = date_parse_from_format(\'Y年m月d日\',$v[\'time\']); if(!$dateArr[\'year\']){ $v[\'time\'] = \'\'; continue; } $v[\'time\'] = $dateArr[\'year\'].\'-\'.$dateArr[\'month\'].\'-\'.$dateArr[\'day\']; } $allID = M(\'user\')->addAll($data); if($allID){ return $this->ajaxReturn([\'code\'=>1,\'msg\'=>\'导入成功\']); } $this->ajaxReturn([\'code\'=>-2,\'msg\'=>\'导入失败\']); } /** * 读表格信息 */ public function excel($name,$files){ //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入 import(\"Common.Vendor.Excel.PHPExcel\"); //创建PHPExcel对象,注意,不能少了\\ $PHPExcel=new \\PHPExcel(); if ($name == \'xls\') { //如果excel文件后缀名为.xls,导入这个类 import(\"Common.Vendor.Excel.PHPExcel.Reader.Excel5\"); $PHPReader=new \\PHPExcel_Reader_Excel5(); } if ($name == \'xlsx\') { //如果excel文件后缀名为.xlsx,导入这下类 import(\"Common.Vendor.Excel.PHPExcel.Reader.Excel2007\"); $PHPReader=new \\PHPExcel_Reader_Excel2007(); } //载入文件 $PHPExcel=$PHPReader->load($files); $currentSheet=$PHPExcel->getSheet(0); $allColumn=$currentSheet->getHighestColumn(); $allRow=$currentSheet->getHighestRow(); //循环读取数据 for($currentRow=2;$currentRow<=$allRow;$currentRow++){ $arr[\'name\'] = $PHPExcel->getActiveSheet()->getCell(\'B\'.$currentRow)->getValue(); $arr[\'mobile\'] = $PHPExcel->getActiveSheet()->getCell(\'C\'.$currentRow)->getValue(); $arr[\'sex\'] = $PHPExcel->getActiveSheet()->getCell(\'D\'.$currentRow)->getValue(); $arr[\'time\'] = gmdate(\"Y年m月d日\",\\PHPExcel_Shared_Date::ExcelToPHP($PHPExcel->getActiveSheet()->getCell(\'F\'.$currentRow)->getValue())); $data[] =$arr; } return $data; }
继续阅读与本文标签相同的文章
上一篇 :
全球15%工作将被自动化,中国1亿人将面临失业
下一篇 :
正则表达式游戏的答案
-
BAT程序员们常用的开发神器(附代码、教程)
2026-05-19栏目: 教程
-
独家 | 一文读懂神经网络(附解读&案例)
2026-05-19栏目: 教程
-
超全Python速查表登上GitHub热榜,标星4600+!(附链接)
2026-05-19栏目: 教程
-
独家 | 关于数据湖架构、战略和分析的8大错误认知(附链接)
2026-05-19栏目: 教程
-
独家|手把手教你赋能Jupyter Notebooks!(附代码)
2026-05-19栏目: 教程
