当前位置:首页 > 科技 >

PHPExcel学习笔记

发布时间:2017-09-12 15:06:07

PHPExcel学习笔记

学习PHPExcel准备工作

php版本不能太低

保持php版本5.3以上

下载PHPExcel插件

https://github.com/PHPOffice/PHPExcel/archive/1.8.1.zip

解压后提取classes文件夹到工作目录,并重命名为excel,此处还用到了虚拟域名的设置。

使用PHPExcel导出文件步骤

\

方法一:

getActiveSheet(); //获得当前活动sheet的操作对象 $objSheet->setTitle('demo'); //给当前活动sheet设置名称 //方法1 $objSheet->setCellValue("A1","姓名")->setCellValue("B1","分数"); //给当前活动sheet填充数据 $objSheet->setCellValue("A2","张三")->setCellValue("B2","50"); $objWriter = PHPExcel_IOFactory::createWriter($obj,"Excel2007"); //按照指定格式生成excel文件 $objWriter->save($dir."/demo.xlsx"); //保存文件 ?>

\

方法二:

getActiveSheet(); //获得当前活动sheet的操作对象 $objSheet->setTitle('demo'); //给当前活动sheet设置名称 //方法二 $array = array( array(), array("","姓名","分数"), array("","李四","60"), array("","王五","100") ); $objSheet->fromArray($array); //直接加载数据块来填充数据 $objWriter = PHPExcel_IOFactory::createWriter($obj,"Excel2007"); $objWriter->save($dir."/demo_1.xlsx"); ?>

\

PS:推荐使用第一种方法,第一种对内存消耗比较少,且代码可读性更强,而且可以设置单元格的样式

PHPExcel导出MySQL数据库数据

①读取数据并输出到本地文件保存

数据库结构

\

本人相关文件放置目录位置

\

dbconfig.php

"127.0.0.1", 'username' => "root", 'password' => "", 'database' => "phpexcel", 'charset' => "utf8" ); ?>

db.php

conn = mysqli_connect($config['host'],$config['username'],$config['password'],$config['database']) or die(mysqli_connect_error()); //连接数据库 mysqli_query($this->conn, "set names ".$config['charset']) or die(mysqli_connect_error());//设定mysql编码 } //根据传入sql语句 查询mysql结果集 public function getResult($sql){ $resource = mysqli_query($this->conn,$sql) or die(mysqli_connect_error());//查询sql语句 $res = array(); while($row = mysqli_fetch_assoc($resource)){ $res[] = $row; } return $res; } //根据传入年级数 查询每个年级的学生数据 public function getDataByGrade($grade){ $sql = "select username,score,class from user where grade=".$grade." order by score desc"; $res = self::getResult($sql); return $res; } } ?>

export.php

1){ $objPHPExcel->createSheet();//创建新的内置表 } $objPHPExcel->setActiveSheetIndex( $i - 1 ); //把新创建的sheet设定为当前活动sheet $objSheet = $objPHPExcel->getActiveSheet(); //获取当前活动sheet $objSheet->setTitle($i."年级"); //给当前活动sheet起个名字 $data = $db->getDataByGrade($i); //查询每个年级的学生数据 $objSheet->setCellValue("A1","姓名")->setCellValue("B1","分数")->setCellValue("C1","班级");//填充数据 $j = 2; foreach($data as $key =>$value ){ $objSheet->setCellValue("A".$j,$value['username'])->setCellValue("B".$j,$value['score'])->setCellValue("C".$j,$value['class']."班"); $j++; } } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); //生成excel文件 $objWriter->save($dir."/export_1.xls");//保存文件 ?>

在浏览器输入链接地址,并打开

\

生成的excel文件,打开如下:

\

②输出至浏览器

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站推广 https://www.feimao666.com