Como posso fazer um loop array multidimensional no PHP Excel?
Este é o meu código
$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]);
}
Mas isso me dá esse resultado
O que eu quero é que o A2 - D2 faça um loop horizontal então próximo será A3 - D3 então assim por diante e assim por diante
já leu isso foreach matriz multidimensional mas ainda não consigo entender.
Respostas:
2 para resposta № 1Cada $i++
incrementa o valor de $i
. No primeiro loop, todos os valores devem ser colocados na segunda linha, depois na terceira e assim por diante. Então você precisa incrementar o valor depois que os valores forem colocados na respectiva célula. Experimentar -
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++;
}