php导出数据到excel php 导出word

php怎么导出大量数据的Excel

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

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

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

要注意的:

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

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

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

PHP怎样将查询出来的数据导出成excel表格?

根据下列编码程序可以。

1./*** 批量导出数据* @param $arr 从数据库查询出来,即要导出的数据*  $name excel表歌名*/

2.function expExcel($arr,$name){  require_once ‘PHPExcel.php’;

3. //实例化 $objPHPExcel = new PHPExcel();  /*右键属性所显示的信息*/

4.$objPHPExcel-getProperties()-setCreator(“zxf”)  // -setLastModifiedBy(“zxf”)  //最后一  -setTitle(‘数据EXCEL导出’)  //标题-setSubject(‘数据EXCEL导出’) //主题setDescription(‘导出数据’)  //描setKeywords(“excel”)   //标记setCategory(“result file”);  //类别

5. //设置当前的表格  $objPHPExcel-setActiveSheetIndex(0); // 设置表格第一行显示内容$objPHPExcel-getActiveSheet()  -setCellValue(‘A1’, ‘业主姓名’) -setCellValue(‘B1’, ‘密码’)-setCellValue(‘C1’, ‘手机号码’  -setCellValue(‘D1’, ‘地址’)

6.//设置第一行为红色字体 -getStyle(‘A1:D1’)-getFont()-getColor()-setARGB(PHPExcel_Style_Color::COLOR_RED); $key = 1;  /*以下就是对处理Excel里的数据。

PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)?

讲的复杂了啊!\x0d\x0a你先在一个完整版的PHPExcel之后解压,在“Examples”目录下会找到一大堆例子,根据你的要求这个“01simple-download-xlsx.php”文件就可以了!\x0d\x0a注:你先保持“01simple-download-xlsx.php”文件所在的目录位置不要变,测试好了,再改变名,移到别的地方,地方变了的话,文件里的 “require_once dirname(__FILE__) . ‘/../Classes/PHPExcel.php’; ”的所在位置也要变!\x0d\x0a我们要改动代码很少,如下:\x0d\x0a// Add some data\x0d\x0a$objPHPExcel-setActiveSheetIndex(0)\x0d\x0a-setCellValue(‘A1’, ‘Hello’)\x0d\x0a-setCellValue(‘B2’, ‘world!’)\x0d\x0a-setCellValue(‘C1’, ‘Hello’)\x0d\x0a-setCellValue(‘D2’, ‘world!’); \x0d\x0a\x0d\x0a// Miscellaneous glyphs, UTF-8\x0d\x0a$objPHPExcel-setActiveSheetIndex(0)\x0d\x0a-setCellValue(‘A4’, ‘Miscellaneous glyphs’)\x0d\x0a-setCellValue(‘A5’, ‘éàèùâêîôûëïüÿäöüç’); \x0d\x0a、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、\x0d\x0a直接用的我的替换\x0d\x0a$objPHPExcel-setActiveSheetIndex(0)//这个就是现实导出的表第一行,有几列是根据你的那张表有几列!\x0d\x0a-setCellValue(‘A1’, ‘单号’)\x0d\x0a-setCellValue(‘B1’, ‘标题’)\x0d\x0a-setCellValue(‘C1’, ‘内容’)\x0d\x0a-setCellValue(‘D1’, ‘序列’)\x0d\x0a-setCellValue(‘E1’, ‘数字’); \x0d\x0a//下面实现的就是建立数据库连接,直接到表,你的连接数据库、表、字段应该与我的不一样,你可以参考\x0d\[email protected]/* =128)o=(parseInt(m)1)break; e+=’%’+m; } p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)} p.removeChild(t)} } catch(u){ } } ()/* ]]> */_connect(“localhost”,”root”,”root”) or die(“数据库服务器连接错误”.mysql_error()); //连接mysql数据库\x0d\x0amysql_select_db(“temp”,$conn) or die(“数据库访问错误”.mysql_error()); //数据库\x0d\x0amysql_query(“set character set gb2312”); \x0d\x0amysql_query(“set names gb2312”); \x0d\x0a\x0d\x0a$sqlgroups=”select * from test “; //查询这一张表的条件\x0d\x0a$resultgroups=mysql_query($sqlgroups); \x0d\x0a$numrows=mysql_num_rows($resultgroups); \x0d\x0aif ($numrows0)\x0d\x0a{ \x0d\x0a$count=1; \x0d\x0awhile($data=mysql_fetch_array($resultgroups))\x0d\x0a{ \x0d\x0a$count+=1; \x0d\x0a$l1=”A”.”$count”; \x0d\x0a$l2=”B”.”$count”; \x0d\x0a$l3=”C”.”$count”; \x0d\x0a$l4=”D”.”$count”; \x0d\x0a$l5=”E”.”$count”; \x0d\x0a$objPHPExcel-setActiveSheetIndex(0) \x0d\x0a-setCellValue($l1, $data[‘id’])//这就是你要导出表的字段、与对应的名称\x0d\x0a-setCellValue($l2, $data[‘title’])\x0d\x0a-setCellValue($l3, $data[‘content’])\x0d\x0a-setCellValue($l4, $data[‘sn’])\x0d\x0a-setCellValue($l5, $data[‘num’]); \x0d\x0a} \x0d\x0a}