php怎么导出大量数据的Excel
1个回答
2016-06-04 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
1 $fp = fopen('php://output', 'a');
2
3 // 输出Excel列名信息
4 $head = array("邮件");
5 foreach ($head as $i => $v) {
6 // CSV的Excel支持GBK编码,一定要转换,否则乱码
7 $head[$i] = iconv('utf-8', 'gbk', $v);
8 }
9
10 // 将数据通过fputcsv写到文件句柄
11 fputcsv($fp, $head);
12
13 // 计数器
14 $cnt = 0;
15 // 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小
16 $limit = 100000;
17
18 // 逐行取出数据,不浪费内存
19 $count = count($email);
20
21 for($t=0;$t<$count;$t++) {
22
23 $cnt ++;
24 if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题
25 ob_flush();
26 flush();
27 $cnt = 0;
28 }
29 $row[] = $email[$t];
30 foreach ($row as $i => $v) {
31 $row[$i] = iconv('utf-8', 'gbk', $v);
32 }
33 fputcsv($fp, $row);
34 unset($row);
35 }
2
3 // 输出Excel列名信息
4 $head = array("邮件");
5 foreach ($head as $i => $v) {
6 // CSV的Excel支持GBK编码,一定要转换,否则乱码
7 $head[$i] = iconv('utf-8', 'gbk', $v);
8 }
9
10 // 将数据通过fputcsv写到文件句柄
11 fputcsv($fp, $head);
12
13 // 计数器
14 $cnt = 0;
15 // 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小
16 $limit = 100000;
17
18 // 逐行取出数据,不浪费内存
19 $count = count($email);
20
21 for($t=0;$t<$count;$t++) {
22
23 $cnt ++;
24 if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题
25 ob_flush();
26 flush();
27 $cnt = 0;
28 }
29 $row[] = $email[$t];
30 foreach ($row as $i => $v) {
31 $row[$i] = iconv('utf-8', 'gbk', $v);
32 }
33 fputcsv($fp, $row);
34 unset($row);
35 }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |