如何将phpExcel行限制增加到24000以上?

时间:2016-04-28 12:29:47

标签: php

我已使用以下代码在Excel中生成报告:

require_once "phpexcel/class.writeexcel_workbook.inc.php";
require_once "phpexcel/class.writeexcel_worksheet.inc.php";
$fname = tempnam("/tmp", "simple.xls");
$workbook = &new writeexcel_workbook($fname);
$gen =& $workbook->addformat();
$gen->set_align('left');
$gen->set_num_format('General');
$worksheet = &$workbook->addworksheet("records");
$worksheet->write_string(0,0,'Customer');
$worksheet->write_string(0,1,'ID');
$worksheet->set_column(0,0,30,$gen);
$worksheet->set_column(0,1,10,$gen);
$j=1;
while($res = mysql_fetch_array($qry))
{
    $worksheet->write($j,0,$res['cust']);
    $worksheet->write($j,1,$res['id']);
    $j++;
}
$workbook->close();
header("Content-Type: application/x-msexcel; name=records.xls");
header("Content-Disposition: inline; filename=records.xls");

当我运行此文件时,它正确生成输出,但只有问题是如果我的记录超过24000,那么它会显示错误消息。

如果我将1到24000条记录设置为其工作

如果我将24000条记录设置为其工作

如果我设置了所有它不起作用(当时26000条记录将会到来)

1 个答案:

答案 0 :(得分:0)

您可以尝试这个官方示例: https://github.com/PHPOffice/PHPExcel/blob/7d1c140974a4988f8a9739d167335d24fb59955e/Examples/06largescale-xls.php

另外,请考虑增加PHP内存限制

  

PHPExcel拥有电子表格的“内存”表示,因此很容易受到PHP的内存限制。通过在php.ini文件中编辑memory_limit指令的值,或者在代码中使用ini_set('memory_limit','128M')(ISP允许),可以增加PHP可用的内存。

Here is a similar question