Dai Chong's blog

今天的博客内容是php实现导出excel,大家都知道实现php导出excel有很多种方法,最方便的是phpexcel这个插件,但是在处理海量数据的时候就会出现非常非常缓慢的情况。而且用这个插件要求的php版本是5.6以上,很不巧,我的php版本是5.4。用不了这个插件,只能另寻他法了!

刚开始的使用是使用前端的table导出,感觉不是很好用,代码量太大,不方便。

后来又尝试了几种方法,最后选择了一种最简单,最有效,代码量最少的方法!

代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
require_once('./db.php');
class index extends Db{
public function index()
{
$data = Db::get_all("select userid from order");
header("Content-type:application/vnd.ms-excel");//设置导出格式
header("Content-Disposition:filename=导出.xls");//设置导出文件名称
header("Cache-Control: max-age=0");//数据不经过缓存,每次查询数据库
$strexport="Userid\r";
foreach ($data as $row){
$strexport.= $row['userid']."\r";
}
$strexport = iconv('UTF-8',"GB2312//IGNORE",$strexport);
exit($strexport);
}
}
$obj = new index;

这段代码只是实现最简单的导出,具体的优化就需要大家去研究了!


 评论