php


Parsing file Excel from PHP


I have a function PHP to parse file Excel, it read all the number of the rows but it doesn't return all the data in the object.
Number of lines 3247, but it return just 1023 lines.
this following the parsing function:
public function parseEquipement($filePath = null) {
set_time_limit(0);
$listEquipement = [];
$count = 0;
$chunkSize = 8192;
$objReader = PHPExcel_IOFactory::createReader(PHPExcel_IOFactory::identify($filePath));
$spreadsheetInfo = $objReader->listWorksheetInfo($filePath);
$chunkFilter = new \Floose\Parse\ChunkReadFilter();
$objReader->setReadFilter($chunkFilter);
$objReader->setReadDataOnly(true);
$chunkFilter->setRows(0, 1);
$objPHPExcel = $objReader->load($filePath);
$totalRows = $spreadsheetInfo[0]['totalRows'];
for ($startRow = 1; $startRow <= $totalRows; $startRow += $chunkSize) {
$chunkFilter->setRows($startRow, $chunkSize);
$objPHPExcel = $objReader->load($filePath);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null, null, true, false);
$startIndex = ($startRow == 1) ? $startRow : $startRow - 1;
if (!empty($sheetData) && $startRow < $totalRows) {
$dataToAnalyse = array_slice($sheetData, $startIndex, $chunkSize);
if($dataToAnalyse[0][0]==NULL){
break;
}
for ($i = 0; $i < $chunkSize; $i++) {
if ($dataToAnalyse[$i]['0'] != NULL) {
$listEquipement[] = new Article($dataToAnalyse[$i]['0'], '', $dataToAnalyse[$i]['1']);
$count++;
}
}
}
//echo($totalRows); // is best
//echo($count); // is wrong
//print_r($listEquipement);
$objPHPExcel->disconnectWorksheets();
unset($objPHPExcel, $sheetData);
}
return $listEquipement;
}
I changed all the code by this following but it doesn't work:
public function parseEquipment($filePath = null) {
$objReader = PHPExcel_IOFactory::createReader(PHPExcel_IOFactory::identify($filePath));
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($filePath);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
for ($row = 2; $row <= $highestRow; $row++){
echo $sheet->getCellByColumnAndRow(3, $row)->getCalculatedValue();
echo $sheet->getCellByColumnAndRow(4, $row)->getCalculatedValue();
echo $sheet->getCellByColumnAndRow(2,$row)->getCalculatedValue();
$listEquipement[] = new Article(
$sheet->getCellByColumnAndRow(3, $row)->getCalculatedValue(),
$sheet->getCellByColumnAndRow(4, $row)->getCalculatedValue(),
$sheet->getCellByColumnAndRow(2, $row)->getCalculatedValue()
);
}
}
And when I run my code always it display an error of memory size knowing that the size of my file is 81K and it display the number of lines in the same time.
Fatal Error: Allowed Memory Size of 134217728 Bytes Exhausted (Tried to allocate 54byte)
Could anyone be kind enough to guide and teach me how I should do my codes or can you suggest me another code to parsing a file Excel ?

Related Links

Sorting data pulled from json by value
PHP/MySQL - Convert database value to MD5, then shrink to a portion of that value?
Grouped products are displaying more than once with different product name with same values in magento
Error echo count
Is it possible to merge PHP code inside EOF variable? [duplicate]
How to format an email that Hotmail / Outlook is happy with?
php “or” not working
HTTP form resets to default display
mod_rewrite not working on Ubuntu with apache2
JSON returns only last letter from the error sentence
Get Result set from two date range in the date(d-M-Y) format
OpenERP XML-RPC working fine on localhost but not on live server
Check on input field value in “where” clause
Error in plugin I am using for poll in website
Apache Memory Corruption in Strace
Get foreign key value in printed table

Categories

HOME
entity-framework
artificial-intelligence
opencart
long-integer
applescript
websocket
twitter-fabric
gallery
native-base
pyresttest
telegraf
selection
migrate
bootstrap-switch
orc
spring-amqp
async-await
reselect
cocos2d-android
scala-ide
robolectric
pickle
gmp
tfsbuild
jest
websphere-portal
ini
raima
fusetools
web-config-transform
plyr
window-managers
onchange
cube
monitor
fotorama
cloudera-manager
creation
java-stream
jslint
aurelia-cli
uivisualeffectview
ng-repeat
game-center
newtons-method
icepdf
distributed-caching
haar-classifier
reverse-dns
zend-form
gcal
autorelease
swift2.3
django-static-precompiler
ol3-google-maps
brightscript
beeline
hibernate-ogm
mongodb-aggregation
pecl
dynamics-crm-4
sidewaffle
nitrousio
oracle-fusion-apps
yui3
rational-performance-test
mathjs
coovachilli
jtag
unsigned
maximize
jeasyui
android-async-http
jeditable
gravatar
as3-api
google-maps-api-2
arbre
directx-9
scala-swing
text-align
camus
ssmtp
juttle
comctl32
iplimage
qt5.4
multivariate-testing
tabris
windows-messages
sqlbindparameter
sql-function
usb-flash-drive
lync-2010
smips
compiler-flags
jacob
acceptance-testing
jbox2d
ckeditor.net
multiscaleimage
story
kobold2d
mmc3
litespeed
fork-join
cewolf
libxslt
rendering-engine

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App