2012-12-13 11 views
31

Capisco che avrò bisogno di scrivere un ciclo all'interno del quale io uso SetCellValue('cell_name', 'value'); ma esiste un metodo in PHPExcel che accetta solo un singolo array e lo scrive in una riga di fogli di Excel?Esiste un metodo in PHPExcel per scrivere un array PHP direttamente in una riga?

Qualcosa di simile:

 
$testArray = array('testcelltext1', 'testcelltext2', testcelltext3'); 
PHPExcel::writeArraytoRow($testArray); 
//do the other PHPExcel stuff to actually write the file 
. 
. 
. 
// outputs an excel file in which the PHP array was written to the first row 

Non riuscivo a trovare qualcosa di simile nella documentazione inclusa, ma che potrebbe essere solo cattive abilità di ricerca PDF ...

risposta

65
$objPHPExcel->getActiveSheet()->fromArray($testArray, NULL, 'A1'); 

E 'utilizzato in un numero degli esempi

Argomenti come descritto nella documentazione API

/** 
* Fill worksheet from values in array 
* 
* @param array $source     Source array 
* @param mixed $nullValue    Value in source array that stands for blank cell 
* @param string $startCell    Insert array starting from this cell address as the top left coordinate 
* @param boolean $strictNullComparison Apply strict comparison when testing for null values in the array 
* @throws Exception 
* @return PHPExcel_Worksheet 
*/ 
+0

Grazie, funziona perfettamente. Grazie anche a PHPExcel, che grande e utile sforzo. Un'altra domanda: questo supporta gli array 2D (probabilmente è chiedere troppo!)? Ho provato ad annidare un array all'interno di uno degli elementi dell'array, e ho ottenuto un argomento 'valid invalid for foreach'. Qualche altro argomento che ho bisogno di passare, forse (si spera! :))? –

+8

Supporta gli array 2d: un array 1d viene trattato come una singola riga, un array 2-d viene trattato come un intervallo di celle; ma devono essere array regolari (vale a dire lo stesso numero di colonne in ogni riga) ... Gli esempi 33chartcreate e 10autofilter-selection utilizzano tutti gli array 2d –

Problemi correlati