【问题标题】:export file php to xls uses class PHPExcel将文件 php 导出到 xls 使用类 PHPExcel
【发布时间】:2013-06-17 04:56:37
【问题描述】:

我想将一些文件php导出到XLS文件使用类PHPEXcel,我以前没用过。

我的浏览器上的通知: “致命错误:C:\AppServ\www\kjjp2\Classes\PHPExcel\Cell.php 中第 1124 行允许的内存大小为 25165824 字节已用尽(尝试分配 1056 字节)”

代码:

    <?php
    include "config/koneksi.php";

    error_reporting(E_ALL);
    require_once 'Classes/PHPExcel.php';
    // Create new PHPExcel object
    $objPHPExcel = new PHPExcel();

    $query = "SELECT * FROM `tabeldata`";
    $hasil = mysql_query($query);

    // Set properties
    $objPHPExcel->getProperties()->setCreator("Erik")
    ->setLastModifiedBy("Erik")
    ->setTitle("Office 2007 XLSX ")
    ->setSubject("Office 2007 XLSX ")
    ->setDescription("Document for Office 2007 XLSX, generated using PHP classes.")
    ->setKeywords("office 2007 openxml php")
   ->setCategory("Test result file");

    // Add some data
    $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValue('A1', 'Jenis Report')
    ->setCellValue('B1', 'Pembayaran')
    ->setCellValue('C1', 'No')
    ->setCellValue('D1', 'Cabang')
     //and some files


    ->setCellValue('AG1', 'Surveyor');

    $rowNya = 3;
    $no = 0;
    while($row=mysql_fetch_array($hasil)){
    $no = $no +1;
    $objPHPExcel->setActiveSheetIndex(0)

    ->setCellValue("A$rowNya", $row['jenReport'])
    ->setCellValue("B$rowNya", $row['pembayaran'])
     ->setCellValue("C$rowNya", $row['no'])
     ->setCellValue("D$rowNya", $row['cabang'])
    ->setCellValue("E$rowNya", $row['namaSales'])
    ->setCellValue("F$rowNya", $row['jenLaporan'])
          //and some files

    ->setCellValue("AG$rowNya", $row['surveyor']);


    $rowNya = $rowNya + 1;
    }

    // Rename sheet
    $objPHPExcel->getActiveSheet()->setTitle('Simple');

    // Set active sheet index to the first sheet, so Excel opens this as the first sheet
    $objPHPExcel->setActiveSheetIndex(0);

    // Redirect output to a client’s web browser (Excel5)
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="database.xls"');
    header('Cache-Control: max-age=0');

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit;
    ?>

【问题讨论】:

  • 谢谢高瑞。对不起,我的英语不好:)

标签: php


【解决方案1】:

PHP 可以使用的 RAM 已用完。您可以在 php.ini 中设置 PHP 将使用多少 RAM。您目前将此限制设置为 24MB,这非常低。尝试增加它。

ini_set('memory_limit', '256M');

【讨论】:

  • 唐托马索。我已经按照您的建议设置了内存限制,但没有解决。我仍然有同样的问题。
  • 唐托马索。抱歉,我在 php.ini 上设置内存限制是错误的。在我正确地做之后,我的问题就解决了。非常感谢。
  • 我有一些文件 php,想导出到 XLS 文件。我可以用我的代码做到这一点。但是,我有问题,我想导出不是所有文件,但我想导出我用排序选择的文件。你能帮我看看吗?
  • 请将它作为一个单独的问题而不是作为评论发布,可能是指这个问题。
【解决方案2】:

PHPExcel 以内存消耗着称。该网站讨论了一些解决方法,请参阅http://phpexcel.codeplex.com/discussions/242712?ProjectName=phpexcel

您也可以考虑使用另一个库,例如旧的 Spreadsheet_Excel_Writer 库(它也有缺点) http://pear.php.net/package/Spreadsheet_Excel_Writer/redirected

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 2021-04-11
    • 2015-06-15
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多