Wie kann ich ein mehrdimensionales Array in PHP Excel schleifen?
Das ist mein Code
$objWorkSheet = $this->excel->createSheet(1); //Setting index when creating
$colors = array(
array("A1", "B1", "C1", "D1"),
array("A2", "B2", "C2", "D2"),
array("A3", "B3", "C3", "D3")
);
$i = 2;
foreach ($colors as $values) {
$objWorkSheet->setCellValue("A".$i++, $values[0]);
$objWorkSheet->setCellValue("B".$i++, $values[1]);
$objWorkSheet->setCellValue("C".$i++, $values[2]);
$objWorkSheet->setCellValue("D".$i++, $values[3]);
}
Aber es gibt mir dieses Ergebnis
Was ich will, ist A2 - D2 wird horizontal durchlaufen dann werden als nächstes A3 - D3 so weiter und so fort
lese das schon foreach mehrdimensionales Array kann es aber immer noch nicht verstehen.
Antworten:
2 für die Antwort № 1Jeden $i++
erhöht den Wert von $i
. In der ersten Schleife sollten alle Werte in die 2. Reihe und dann in die 3. Reihe eingefügt werden. Daher müssen Sie den Wert erhöhen, nachdem die Werte in die entsprechende Zelle eingefügt wurden. Versuchen -
foreach ($colors as $values) {
$objWorkSheet->setCellValue("A".$i, $values[0]);
$objWorkSheet->setCellValue("B".$i, $values[1]);
$objWorkSheet->setCellValue("C".$i, $values[2]);
$objWorkSheet->setCellValue("D".$i, $values[3]);
$i++;
}