Le chargement de grands tableaux Excel à l'aide de PHPExcel peut entraîner un épuisement de la mémoire, malgré une allocation de mémoire généreuse. Comprendre le processus d'allocation de mémoire est crucial pour résoudre ce problème.
Facteurs affectant la consommation de mémoire
Les besoins en mémoire de PHPExcel dépendent principalement du nombre de cellules dans les feuilles de calcul chargées . L'utilisation moyenne de la mémoire est d'environ 1 Ko par cellule. Par conséquent, un classeur contenant 5 millions de cellules nécessiterait environ 5 Go de mémoire.
Optimisations
Pour atténuer la consommation de mémoire, plusieurs optimisations peuvent être mises en œuvre :
Conseils supplémentaires
Dans votre code, le Le tableau $arrayData accumule des données, ce qui peut potentiellement exacerber l'utilisation de la mémoire. Pensez plutôt à utiliser la méthode toArray() de PHPExcel ou sa nouvelle méthode rangeToArray(), qui peut créer un tableau associatif des données sans avoir besoin du tableau intermédiaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!