2012-07-06 26 views
10

Quiero que mi archivo Excel se llene con algunos datos que obtengo de mi base de datos, por ejemplo, el nombre y la edad de alguien.Uso de PHPExcel para crear archivos de Excel generados automáticamente

Supongamos que hay 10 personas en mi base de datos. Quiero esas 10 personas en mi archivo de Excel.

Así que, básicamente, se llega a:

NOMBRE EDAD

Persona1 20 años

Person2 25 años

y así sucesivamente. Sé cómo configurar las cosas NAME y AGE, pero ¿cómo podría ir sobre el bucle de los datos y escribirlo dentro del archivo de Excel? No pude encontrar nada al respecto en la documentación de PHPExcel.

Ésta es mi MySQL:

$query = "SELECT * FROM bestelling"; 

$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result)){ 
    $name = $row['name']; 
    $age = $row['age']; 
} 
+0

respuesta editada según su código :-) Compruebe amablemente. – Vimalnath

+0

¿Eso está trabajando para ti? – Vimalnath

+0

Eche un vistazo a http://phpexcel.codeplex.com/discussions/246121/ para obtener un ejemplo –

Respuesta

35

Estoy asumiendo que ya tiene el objeto de Excel creado. Lo llamaré $ objPHPExcel para cumplir con sus ejemplos. En ese caso se puede bucle de su conjunto de resultados y llenar la hoja de cálculo de esta manera:

$objPHPExcel = new PHPExcel(); 
$objPHPExcel->setActiveSheetIndex(0); 
$rowCount = 1; 
while($row = mysql_fetch_array($result)){ 
    $objPHPExcel->getActiveSheet()->SetCellValue('A'.$rowCount, $row['name']); 
    $objPHPExcel->getActiveSheet()->SetCellValue('B'.$rowCount, $row['age']); 
    $rowCount++; 
} 
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
$objWriter->save('some_excel_file.xlsx'); 

EDIT: He actualizado el ejemplo para proporcionar una solución completa.

+1

Esto no escribirá ningún dato en mi archivo Excel, ¿quizás se ha perdido algo? – Andre

+0

@Andre, he actualizado mi respuesta para proporcionar la solución completa. Asumía que había leído el ejemplo y que ya estaba creando el objeto excel y llamando al método $ objWriter-> save(). ¿Funciona para ti ahora? – davidethell

+1

@Andre: ¿qué es exactamente lo que no funciona? ¿Qué errores estás obteniendo? –

Cuestiones relacionadas