此例子只使用execel2003的xls .文档,若使用的是其他版本,可以保存格式为“Execel 97-2003工作簿(*.xls "即xls .文件类型即可!
功能说明:只能上传Excel2003类型的xls文件,大小不超过500万。可下载例子模板添加数据后即可上传!
前台test.php页面
!DOCTYPE html html head title/title/hearteta charset=' utf-8 ' body form encTYPe=' multipart/form-data ' action=' ./process。PHP ' method=' post ' table trtd align=' center ' col span=' 2 ' font style=' font-size : 40px;字体系列:华文彩云;'上传表格/font/td/tr trtd请先a href=' ./样本/样本01。xls ' rel='外部无跟随'下载超过例子模板/a编辑后上传文件TD/tr/tr请选择你要上传的文件/TD tdinput type=' file ' name=' my file '/TD/tr trtdinput type=' submit ' value='上传文件//td/tr /table/form/body/html运行结果:
后台Process.php页面
?phpheader(' Content-type : text/html;charset=utf-8 ');//链接数据库$ link=@ MySQL _ connect(' localhost ',' root ','')或' die('连接数据库失败');mysql_select_db('test ',$ link);MySQL _ query(' set name utf8 ');函数upExecel(){//判断是否选择了要上传的表格如果(空($ _ POST['我的文件']){ echo '脚本警报(您未选择表格);历史。go(-1);/script ';}//获取表格的大小,限制上传表格的大小5M $ FIle _ size=$ _ FIles[' my FIle '][' size '];if($ file _ size 5 * 1024 * 1024){ echo '脚本警报('上传失败,上传的表格不能超过5M的大小');历史。go(-1);/script ';exit();}//限制上传表格类型$ FIle _ type=$ _ FIles[' my FIle '][' type '];//application/vnd.ms-excel为xls文件类型if ($file_type!=' application/vnd。ms-excel)' { echo '脚本警报('上传失败,只能上传excel2003的xls格式!');历史。go(-1)/script ';exit();}//判断表格是否上传成功if(is _ uploaded _ FIle($ _ FIles[' my FIle '][' tmp _ name ']){ require _ once ' Phpexcel。PHP ';require _ once ' PhPexcel/IOFactory。PHP ';require _ once ' PHPExcel/Reader/Excel 5。PHP ';//以上三步加载phpExcel的类$ ObjReader=Phpexcel _ IOfactors :创建阅读器(' Excel 5 ');//将excel2007用于2007格式/接收存在缓存中的超过表格$ FIlename=$ _ FILES[' my FIle '][' tmp _ name '];$ ObjphpEXcel=$ ObjReader-load($ filename);//$文件名可以是上传的表格,或者是指定的表格$ sheet=$ objPHPExcel-getSheet(0);$ high esterow=$ sheet-gethigh esterow();//取得总行数//$ higheeestcolumn=$ sheet-gethigheeestcolumn();//取得总列数//循环读取超过表格,读取一条,插入一条//j表示从哪一行开始读取从第二行开始读取,因为第一行是标题不保存//$a表示列号for($ j=2;$ j=$ highestRow $ j){ $ A=$ objPHPExcel-getActiveSheet()-getCell(' A ' .$ j)-GetValue();//获取a(业主名字)列的值$ B=$ objPHPExcel-getActiveSheet()-getCell(' B ' .$ j)-GetValue();//获取b(密码)列的值$ C=$ objPHPExcel-getActiveSheet()-getCell(' C ').$ j)-GetValue();//获取(c)手机号)列的值$ D=$ objPHPExcel-getActiveSheet()-getCell(' D ' .$ j)-GetValue();//获取d(地址)列的值//null为主键id,自增可用空表示自动添加$ SQL=' INSERT INTO house VALUES(null,' $a ',' $b ',' $c ',' $ d ')';//回显" $ SQL ";//exit();$ RES=MySQL _ query($ SQL);if ($res) { echo 'scriptalert('添加成功!');window.location.href=' ./test。PHP ';/script ';}else{ echo 'scriptalert('添加失败!');window.location.href=' ./test。PHP ';/script ';exit();} }}}//调用upExecel();效果为:若未选择要上传的文件,会提示"未选择表格";若表格文件超过5M,提示;若上传的文件类型不是xls,会提示!
以上这篇服务器端编程语言(专业超文本预处理器的缩写)使用PHPExcel实现批量上传到数据库的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。