2016-12-12 1 views
1

Ich bin mit PHP-Tabelle Leser Excel eine Excel-Datei zu lesen und einige Manipulation zu tun. Es funktionierte gut und begann plötzlich Wert 'Allgemein' zurückzukehren bei Integer-Spaltenphp-Tabelle Excel Leser anonyme Werte Rückkehr

Sample rows from excel: 

enter image description here

Code:

$dataFields = array("alias"=>"alias","store_quantity"=>"store_quantity","godown_quantity"=>"godown_quantity","name"=>"name"); 

$mandatoryFeilds = array("alias","store_quantity","godown_quantity","name"); 

$fieldsPos = array(); 
$data = new Spreadsheet_Excel_Reader(); 
$data->setOutputEncoding('CP1251'); 
$data->read($_FILES['upload-file']['tmp_name']); 
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) 
{  
    if (isset($data->sheets[0]['cells'][1][$j]) == true) 
    { 
      $fieldsPos[$data->sheets[0]['cells'][1][$j]] = $j; 
      if(array_search($data->sheets[0]['cells'][1][$j],$mandatoryFeilds)!==false) 
      { 
       unset($mandatoryFeilds[array_search($data->sheets[0]['cells'][1][$j],$mandatoryFeilds)]); 

      } 
    } 
} 

if(count($mandatoryFeilds)>0) 
{ 
    die('Some of the mandatory columns are missing in excel'); 
} 

for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) 
{ 
    //printing the output here to check values received from excel which are some anonymous values getting returned 
    var_dump($data->sheets[0]['cells'][$i]); 

} 

Ausgang:

array("alias"=>"General","name"=>"Item A","store_quantity"=>"General","godown_quantity"=>"General") 

Kann mir jemand dabei helfen? Jede Hilfe wird geschätzt ernsthaft

Antwort

0

Das Problem geschah, weil ich aktualisierte mein Betriebssystem von Ubuntu 14 bis Ubuntu 16, die die Libre Office-Version 4,2-5

die Excel-Datei in Libre 5 aktualisiert wird in oben diskutiert gelesen zu werden Weise. Es hat also mit der Libre-Version und nicht mit dem Spreadsheet-Reader zu tun.

0

hatte ich die gleichen Probleme. Es stellte sich heraus, dass diese Zellen blockiert waren. Aus diesem Grund konnte der Spreadsheet-Reader nicht richtig lesen.