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