您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > php利用PHPExcel类导出导入Excel用法
php利用PHPExcel类导出导入Excel用法PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介绍了)。导出Excel用法//设置环境变量(新增PHPExcel)代码如下复制代码set_include_path('.'.PATH_SEPARATOR.Yii::app()-basePath.'/lib/PHPExcel'.PATH_SEPARATOR.get_include_path());//注:在yii中,也可以直接Yii::import(“application.lib.PHPExcel.*”);//引入PHPExcel相关文件require_oncePHPExcel.php;require_once'PHPExcel/IOFactory.php';require_once'PHPExcel/Writer/Excel5.php';//把要导出的内容放到表格代码如下复制代码//新建$resultPHPExcel=newPHPExcel();//设置参数//设值$resultPHPExcel-getActiveSheet()-setCellValue('A1','季度');$resultPHPExcel-getActiveSheet()-setCellValue('B1','名称');$resultPHPExcel-getActiveSheet()-setCellValue('C1','数量');$i=2;foreach($dataas$item){$resultPHPExcel-getActiveSheet()-setCellValue('A'.$i,$item['quarter']);$resultPHPExcel-getActiveSheet()-setCellValue('B'.$i,$item['name']);$resultPHPExcel-getActiveSheet()-setCellValue('C'.$i,$item['number']);$i++;}设置导出参数代码如下复制代码//设置导出文件名$outputFileName='total.xls';$xlsWriter=newPHPExcel_Writer_Excel5($resultPHPExcel);//ob_start();ob_flush();header(Content-Type:application/force-download);header(Content-Type:application/octet-stream);header(Content-Type:application/download);header('Content-Disposition:inline;filename='.$outputFileName.'');header(Content-Transfer-Encoding:binary);header(Expires:Mon,26Jul199705:00:00GMT);header(Last-Modified:.gmdate(D,dMYH:i:s).GMT);header(Cache-Control:must-revalidate,post-check=0,pre-check=0);header(Pragma:no-cache);$xlsWriter-save(php://output);输出有错。默认$xlsWriter-save(php://output);可能因为缓存不够大,而显示不完整,所以做个中转,方式如下:代码如下复制代码$finalFileName=(Yii::app()-basePath.'/runtime/'.time().'.xls';$xlsWriter-save($finalFileName);echofile_get_contents($finalFileName);//file_get_contents()函数把整个文件读入一个字符串中。和file()一样,不同的是file_get_contents()把文件读入一个字符串。导入Excel用法代码如下复制代码?if($_POST['leadExcel']==true){$filename=$_FILES['inputExcel']['name'];$tmp_name=$_FILES['inputExcel']['tmp_name'];$msg=uploadFile($filename,$tmp_name);echo$msg;}//导入Excel文件functionuploadFile($file,$filetempname){//自己设置的上传文件存放路径$filePath='upFile/';$str=;//下面的路径按照你PHPExcel的路径来修改require_once'../PHPExcel/PHPExcel.php';require_once'../PHPExcel/PHPExcel/IOFactory.php';require_once'../PHPExcel/PHPExcel/Reader/Excel5.php';//注意设置时区$time=date(y-m-d-H-i-s);//去当前上传的时间//获取上传文件的扩展名$extend=strrchr($file,'.');//上传后的文件名$name=$time.$extend;$uploadfile=$filePath.$name;//上传后的文件名地址//move_uploaded_file()函数将上传的文件移动到新位置。若成功,则返回true,否则返回false。$result=move_uplo($filetempname,$uploadfile);//假如上传到当前目录下//echo$result;if($result)//如果上传文件成功,就执行导入excel操作{includeconn.php;$objReader=PHPExcel_IOFactory::createReader('Excel5');//useexcel2007for2007format$objPHPExcel=$objReader-load($uploadfile);$sheet=$objPHPExcel-getSheet(0);$highestRow=$sheet-getHighestRow();//取得总行数$highestColumn=$sheet-getHighestColumn();//取得总列数/*第一种方法//循环读取excel文件,读取一条,插入一条for($j=1;$j=$highestRow;$j++)//从第一行开始读取数据{for($k='A';$k=$highestColumn;$k++)//从A列读取数据{//这种方法简单,但有不妥,以''合并为数组,再分割为字段值插入到数据库实测在excel中,如果某单元格的值包含了导入的数据会为空//$str.=$objPHPExcel-getActiveSheet()-getCell($k$j)-getValue().'';//读取单元格}//echo$str;die();//explode:函数把字符串分割为数组。$strs=explode(,$str);$sql=INSERTINTOte(`1`,`2`,`3`,`4`,`5`)VALUES('{$strs[0]}','{$strs[1]}','{$strs[2]}','{$strs[3]}','{$strs[4]}');//die($sql);if(!mysql_query($sql)){returnfalse;echo'sql语句有误';}$str=;}unlink($uploadfile);//删除上传的excel文件$msg=导入成功!;*//*第二种方法*/$objWorksheet=$objPHPExcel-getActiveSheet();$highestRow=$objWorksheet-getHighestRow();echo'highestRow='.$highestRow;echobr;$highestColumn=$objWorksheet-getHighestColumn();$highestColumnIndex=PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数echo'highestColumnIndex='.$highestColumnIndex;echobr;$headtitle=array();for($row=1;$row=$highestRow;$row++){$strs=array();//注意highestColumnIndex的列数索引从0开始for($col=0;$col$highestColumnIndex;$col++){$strs[$col]=$objWorksheet-getCellByColumnAndRow($col,$row)-getValue();}$sql=INSERTINTOte(`1`,`2`,`3`,`4`,`5`)VALUES('{$strs[0]}','{$strs[1]}','{$strs[2]}','{$strs[3]}','{$strs[4]}');//die($sql);if(!mysql_query($sql)){returnfalse;echo'sql语句有误';}}}else{$msg=导入失败!;}return$msg;}?HTML网页代码代码如下复制代码formaction=upload.phpmethod=postenctype=multipart/form-datainputtype=hiddenname=leadExcelvalue=truetablealign=centerwidth=90%border=0trtdinputtype=filename=inputExcelinputtype=submitvalue=导入数据/td/tr/table/form
本文标题:php利用PHPExcel类导出导入Excel用法
链接地址:https://www.777doc.com/doc-2850393 .html