急:php导出excel时,因数据比较多,经常导出不完整就结束了
设置超
在服务器上设置也可以,在当前文件写代码也可以
服务器上找到php安装下的php.ini
找到max_execution_time这句,将值改为你想要的时间,或者该为0表示无时间限制
如果在当前文件写代码
那就在网页最顶端写这条php代码
set_time_limit (0);
括号内的参数是数字,写上你想要的时间,比如100就是100秒
0表示无时间限制
PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)
复杂了啊!
你先在一个完整版的PHPExcel之压,在“Examples”目录下会找到一大子,根据你的要求这个“01simple-download-xlsx.php”文件就可以了!
注:你先保持“01simple-download-xlsx.php”文件所在的目录位置不要变,测试好了,再改变名,移到别的地方,地方变了的话,文件里的 “require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';”的所在位置也要变!
我们要改动代码很少,如下:
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!');
// Miscellaneous glyphs, UTF-8
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4', 'Miscellaneous glyphs')
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
直接用的我的替换
$objPHPExcel->setActiveSheetIndex(0)//这个就是现实导出的表第一行,有几列是根据你的那张表有几列!
->setCellValue('A1', '单号')
->setCellValue('B1', '标题')
->setCellValue('C1', '内容')
->setCellValue('D1', '序列')
->setCellValue('E1', '数字');
//下面实现的就是建立数据库连接,直接到表,你的连接数据库、表、字段应该与我的不一样,你可以参考
$conn=@mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());//连接mysql数据库
mysql_select_db("temp",$conn) or die("数据库访问错误".mysql_error());//数据库
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
$sqlgroups="select * from test ";//查询这一张表的条件
$resultgroups=mysql_query($sqlgroups);
$numrows=mysql_num_rows($resultgroups);
if ($numrows>0)
{
$count=1;
while($data=mysql_fetch_array($resultgroups))
{
$count =1;
$l1="A"."$count";
$l2="B"."$count";
$l3="C"."$count";
$l4="D"."$count";
$l5="E"."$count";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($l1, $data['id'])//这就是你要导出表的字段、与对应的名称
->setCellValue($l2, $data['title'])
->setCellValue($l3, $data['content'])
->setCellValue($l4, $data['sn'])
->setCellValue($l5, $data['num']);
}
}
PHP如何导出当前页面中的表格至Excel
用PHPExcel就可以了 你一下 有很多的
PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)?
讲的复杂了啊!
你先在一个版的PHPExcel之后解压,在“Examples录下会找到一大堆例子,根的要求这个“01simple-download-xlsx.php”文件就可以了!
注:你先保持“01simple-download-xlsx.php”文件所在的目录位置不要变,测试好了,再改变名,移到别的地方,地方变了的话,文件里的 “require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';”的所在位置也要变!
我们要改动代码很少,如下:
// Add some data
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello')
->setCellValue('B2', 'world!')
->setCellValue('C1', 'Hello')
->setCellValue('D2', 'world!');
// Miscellaneous glyphs, UTF-8
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4', 'Miscellaneous glyphs')
->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
直接用的我的替换
$objPHPExcel->setActiveSheetIndex(0)//这个就是现实导出的表第一行,有几列是根据你的那张表有几列!
->setCellValue('A1', '单号')
->setCellValue('B1', '标题')
->setCellValue('C1', '内容')
->setCellValue('D1', '序列')
->setCellValue('E1', '数字');
//下面实现的就是建立数据库连接,直接到表,你的连接数据库、表、字段应该与我的不一样,你可以参考
$conn=@mysql_connect("localhost","root","root") or die("数据库服务器连接错误".mysql_error());//连接mysql数据库
mysql_select_db("temp",$conn) or die("数据库访问错误".mysql_error());//数据库
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
$sqlgroups="select * from test ";//查询这一张表的条件
$resultgroups=mysql_query($sqlgroups);
$numrows=mysql_num_rows($resultgroups);
if ($numrows>0)
{
$count=1;
while($data=mysql_fetch_array($resultgroups))
{
$count =1;
$l1="A"."$count";
$l2="B"."$count";
$l3="C"."$count";
$l4="D"."$count";
$l5="E"."$count";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($l1, $data['id'])//这就是你要导出表的字段、与对应的名称
->setCellValue($l2, $data['title'])
->setCellValue($l3, $data['content'])
->setCellValue($l4, $data['sn'])
->setCellValue($l5, $data['num']);
}
}
怎么将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写入 希望能帮到你,我还要抓紧时间自己在后盾人自己学习呢,一起加油吧(「・ω・)「嘿