php怎么导出大量数据的Excel

 我来答
hosezhou19896
高粉答主

2019-06-29 · 关注我不会让你失望
知道小有建树答主
回答量:1253
采纳率:100%
帮助的人:20.6万
展开全部

php导出大量数据Excel的具体操作步骤如下:

1、使用phpstudy搭建一个测试平台,直接访问数据库。

2、下载的phpcms安装包拷贝到IIS目录,开通访问,即可搭建成功。

3、登录网站后台,系统权限,文件目录以及数据库等功能,进行管理。

4、在phpcms后台,扩展,数据库工具,数据库导出,程序池选择phpcmsv9,开始备份数据。

5、打开IIS网站目录,在D:\wwwroot\kmxy\wwwroot\caches\bakup\default文件夹,查看导出的数据库文件。

6、登录phpmyadmin,选择数据库导出,选择Excel格式,即可导出。

育知同创教育
2016-08-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
用这个吧:PHPExcel
步骤:

1.百度:phpexcel,点击第一个结果;

2.进入官网后,找到右边的download按钮,下载,下载完成的是一个压缩文件,解压放到你的项目目录里,根据个人情况而定;

3.因为这里给大家做演示,所以建了一个测试文件,有点基础的都能明白是怎么回事,下面进入代码;

4.
//引入PHPExcel库文件(路径根据自己情况)
include './phpexcel/Classes/PHPExcel.php';
//创建对象
$excel = new PHPExcel();
//Excel表格式,这里简略写了8列
$letter = array('A','B','C','D','E','F','F','G');
//表头数组
$tableheader = array('学号','姓名','性别','年龄','班级');

//填充表头信息
for($i = 0;$i < count($tableheader);$i++) {
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}

5.
//表格数组
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小张','女','20','102'),
array('4','小赵','女','20','103')
);
//填充表格信息
for ($i = 2;$i <= count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=>$value) {
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
$j++;
}
}

6.
//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');

7.打开页面,刷新的时候会弹出对话框,让你选择文件保存路径和文件名称,直接放在了桌面上,

8.打开表格后,数据和格式跟代码中的一致,说明PHP导出的Excel是正确的。如果出现错误,检查一下你的表格数组和数据数组吧。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丰鸿福71
推荐于2018-02-27 · TA获得超过312个赞
知道小有建树答主
回答量:409
采纳率:85%
帮助的人:234万
展开全部

php导出大量数据到Excel,可以通过生成多个Excel文件,然后压缩成压缩包解决。

方案是:假如我们数据库有10w条数据,每2000条数据生成一个Excel文件,这样每次只要从数据库里查询出2000条数据即可,一定要分页去查询。

原因:主要是数据库性能和写文件性能。分页查询可以解决数据库压力的问题, 生成多个文件可以解决单个文件太大,后期维护Excel文件的问题。 

要注意的:

           1. 在导出逻辑文件开头,一定要声明 set_time_limit(0) ,防止脚本超时;

           2. 每个文件生成后,适当的sleep一下,让程序休息一下下;

           3. 因为一次导出最后要将生成的多个Excel文件打包成一个压缩包,所以要删除掉生成的Excel文件,节省服务器存储空间;

下面是我实际工作中,写的一个php导出大量数据到Excel的代码,你可以参考一下:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yingqiao2000
2017-03-14 · TA获得超过1.3万个赞
知道大有可为答主
回答量:6038
采纳率:94%
帮助的人:2322万
展开全部
php导出大量数据的Excel:
PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题
Excel可以支持100万行记录,Excel 2003最大支持65536行,从2007版开始支持104万行了,目前2007的盗版应该比较普及了-_-! 问清楚客户是什么版本。
要导出excel的理由是非常充分和正确的,应该继续坚持。业务人员最熟悉的就是Excel,实在不熟悉现学现用也比别的快。只是要注意,当数据量达到10万行这个级别时,Excel的公式填充将会非常非常慢,如果再有LOOKUP()公式,基本上十分钟内处理CPU满载进程管理器杀不掉的状态,这时候其实xampp + phpmyadmin是一个易用性和性能都最平衡的选择
PHPExcel输出的是Excel XML格式,有个XML头和尾,中间是数据Body,需要将100万行都赋值给一个数组才可以调用PHPExcel->write(),这容易导致PHP执行超时或者内存超限,不妨调整一下php.ini配置,把超时时间和内存限制都改到很大
如果是输出csv格式,那就太简单了,你的问题可能是没给字段内容加引号,加上引号再调用fputcsv试试?其实fputcsv做的事情特别简单,你甚至可以不管它,自己把CSV文件的每一行拼接好了之后用file_put_contents写入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丹燕惠E
2018-08-02 · 知道合伙人软件行家
丹燕惠E
知道合伙人软件行家
采纳数:33 获赞数:109
www.itg123.com

向TA提问 私信TA
展开全部

简介:可以利用工具软件导出成Excel文件

工具原料:Apache+php+mysql网站运行环境,phpMyAdmin v4.6.2

  1. 下载phpMyAdmin v4.6.2软件后解压放在网站根目录

  2. 用root用户和密码登入phpMyAdmin,在左边栏点击要导出的数据库,然后点击要导出的数据表,最后点击导出如图所示。

  3. 进入导出页面后如图按图中红色标注的操作

  4. 另外还要注意选择的是要保存的文件的字符集:如图所示才能保证保存出来的文件不会出现乱码

  5. 最后点击执行按钮,OK.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式