在做网站时,有时候会有这样的需求。需要把从数据库中查询到的数据内容通过Excel导出到本地。或者更进一步需要给客户提供下载的功能。今天我们就在讲一讲怎么通过PHP来从网页上导出数据到Excel并下载。
工具/原料
PHPExcel库
方法/步骤
1、PHPExcel下载及部署:大家须要先下载PHPExcel的代码,并拷贝到自己的网站环境里,如下图。具体在哪里下载,搜索一下百度就好。
2、注意点:这段写给用过PHPExcel的同学。有很多其他同类文档提到了以下直接通过浏览器下载Excel的方法,但代码写完了却发现实现不了相应的功能:$objWriter=PHPExcel_IOFactory::createWriter($excel,'Excel5');$objWriter->save('php://output');//浏览器直接下载原因在于:因为安全问题,很多浏览器不支持该行为。所以不建议使用。
3、导入PHPExcel资源:要使用PHPExcel的功能,必虔銎哂埽须先把对应的文件导入,相信写过PHP代码的同学都是应该知道的。沪枭诽纾代码如下:require_once'./PHPExcel_1.8.0/Classes/PHPExcel.php';require_once'./PHPExcel_1.8.0/Classes/PHPExcel/IOFactory.php';include'./PHPExcel_1.8.0/Classes/PHPExcel/Writer/Excel5.php';include'./PHPExcel_1.8.0/Classes/PHPExcel/Writer/Excel2007.php';
4、生成Excel:$excel=newPHPExcel();//构造一个Excel对象...往Excel中写入数据,具体写入方法在下面详细说明...$objWriter=PHPExcel_IOFactory::createWriter($excel,'Excel5');$objWriter->save('excel.xls');//生成名为【excel.xls】的文件在服务器端。注意:PHP这里生成的是在服务器,如果你要下载的话,还需要为该文件提供一个下载的链接。
5、下载Excel:为上一步骤中生成的Excel提供一个下载链接:<ahref='./excel.xls'download='Excel数据下载'>Excel数据下载</a>download属性的值是文档下载后的名称。这个链接最好是在生成Excel的代码执行完成后才在界面上显示。
6、Excel中写入数据:以下代码说明了怎么把数倌栗受绽据写入到Excel文档中://定义所使用到的单元格列号,如:A1,B2等。$le墉掠载牿tter=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N');//$excel是前面用newPHPExcel();构造的一个Excel对象//$letter[0]='A',$letter[0]1代码了A1单元格//下面代码的功能就是在A1单元格里写入"PHP生成Excel"$excel->getActiveSheet()->setCellValue("$letter[0]1","PHP生成Excel");//以下代码是在A2,B2,C2单元格分别写入'内容1','内容2','内容3'$content=array('内容1','内容2','内容3');for($i=0;$i<count($content);$i++){$excel->getActiveSheet()->setCellValue("$letter[$i]2","$tableheader[$i]");}如何要写入多行多列的数据,把循环嵌套一下就行了。
7、总结:相信到这里,你应该可以实现一个用Excel导出数据并下载的功能了。除此之外,PHPExcel提供了许多对Excel操作的方法,在这里不可能一一说明。如果有兴趣的同学,可以去参考一下官方手册。