用php处理一个巨大的excel文件

用php处理一个巨大的excel文件,php,caching,phpexcel,Php,Caching,Phpexcel,我正在处理一个5500行50列的巨大excel文件, 仅处理100行需要一分钟以上才能显示,我无法处理整个文件,我仍然等待了6分钟以上却没有任何结果, 我尝试使用缓存方法(我对这种方法没有太多的了解,你会在下面看到我的尝试),它适用于100行,但当然,在第一次我等了一分钟之后,我立即获得了数据,而且我无法处理我的大文件。 这是我的尝试: <?php require_once ".\Classes\PHPExcel\IOFactory.php"; $objPHPExcel =

我正在处理一个5500行50列的巨大excel文件, 仅处理100行需要一分钟以上才能显示,我无法处理整个文件,我仍然等待了6分钟以上却没有任何结果, 我尝试使用缓存方法(我对这种方法没有太多的了解,你会在下面看到我的尝试),它适用于100行,但当然,在第一次我等了一分钟之后,我立即获得了数据,而且我无法处理我的大文件。 这是我的尝试:

<?php
    require_once ".\Classes\PHPExcel\IOFactory.php";
    $objPHPExcel = PHPExcel_IOFactory::load("zfg01_CAT.xlsx");
    $sheet = $objPHPExcel->getSheet(0);
    include 'fonctionsUtiles.php';
    $cache = 'cache/index.html';
    $expire = time() - 3600; // valable une heure

    if (file_exists($cache) && filemtime($cache) > $expire) {
        readfile($cache);
    } else {
        ob_start(); // ouverture du tampon

        afficherUneFeuille($sheet);
        echo'<br>';
        echo $sheet->getHighestRow();
        echo'<br>';

        supprimerLesDoublons($sheet);
        afficherUneFeuille($sheet);
        echo $sheet->getHighestRow();
        echo'<br>';
        $page = ob_get_contents(); // copie du contenu du tampon dans une chaîne
        ob_end_clean(); // effacement du contenu du tampon et arrêt de son fonctionnement

        file_put_contents($cache, $page); // on écrit la chaîne précédemment récupérée ($page) dans un fichier ($cache) 
        echo $page; // on affiche notre page :D 
    }
    ?>

谢谢你的帮助
对不起,我的英语不好^ ^

你可以尝试使用喷口:。使用它很简单,而且它支持非常大的文件,不需要对php.ini或缓存技术进行任何更改。

将文件作为后台作业处理,然后加载结果。阅读PHPExcel文档,了解将文件拆分为“块”进行处理的一些技巧