2017-05-03 190 views
0
foreach($objPHPExcel->getWorksheetIterator() as $worksheet) 
     { 
      echo '<table border ="1px" width ="50%" float:left overflow:auto>' . "\n"; 
      foreach ($objWorksheet->getRowIterator() as $row) { 
       echo '<tr>' . "\n"; 
       $cellIterator = $row->getCellIterator(); 
       $cellIterator->setIterateOnlyExistingCells(false); 
       $y =0; 
       foreach ($cellIterator as $cell) { 
        $promptData[$x][$y] = $cell->getValue(); 
        $cellIndex = $cell->getCoordinate(); 
        $promptData[$x][$y]['Index'] = $cellIndex; 
        echo '<td>' . $promptData[$x][$y] . '</td>' .'<td>' . $cell->getCalculatedValue() . '</td>' . "\n"; 
        $y++; 
       } 
       $x++; 
       echo '</tr>' . "\n"; 
      } 
      echo '</table>' . "\n"; 
     } 

我想存儲單元的索引我使用 $ promptData [$ X] [$ y的] [ '索引'] = $ 2D陣列中添加鍵值爲2D陣列cellIndex; 但它不起作用任何人都可以幫忙。使用在PHP foreach循環

+0

我得到錯誤作爲數組字符串轉換$ promptData [$ x] [$ y] ['Index'] = $ cellIndex; –

+0

正如錯誤說試圖print_r它知道它的結構 – Osama

回答

0

問題是你定義的值$prompt[$x][$y]首先作爲一種價值,那麼作爲一個數組:

$promptData[$x][$y] = $cell->getValue(); 
$cellIndex = $cell->getCoordinate(); 
$promptData[$x][$y]['Index'] = $cellIndex; 
echo '<td>' . $promptData[$x][$y] . '</td>' .'<td>' . $cell->getCalculatedValue() . '</td>' . "\n"; 

嘗試單元格的值賦給數組元素,則呼應只是數組元素,而比整個數組:

$promptData[$x][$y] = [ 
    'Value' => $cell->getValue(), 
    'Index' => $cell->getCoordinate() 
]; 
echo '<td>' . $promptData[$x][$y]['Value'] . '</td>' .'<td>' . $cell->getCalculatedValue() . '</td>' . "\n"; 
+0

我在您的建議reagrding => –

+0

錯誤,Woops,有一個錯字,有'.'而不是','。現在試試 –

+0

我想問一個更多的問題,如果我想檢索這些值,那麼我該如何做到這一點。 –