Использование PHPExcel для создания автоматически генерируемых файлов excel
Я хочу, чтобы мой файл excel заполнялся некоторыми данными, которые я получаю из своей базы данных, например, имя и возраст кого-то.
Скажем, что в моей базе данных 10 человек. Я хочу, чтобы эти 10 человек в моем файле Excel.
Таким образом, вы получите:
NAME AGE
Person1 20 лет
Person2 25 лет
И так далее. Я знаю, как установить элементы NAME и AGE, но как бы я начал циклировать данные и записывать их в файл excel? Я не мог найти ничего об этом в документации PHPExcel.
Это мой 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'];
}
Ответы
Ответ 1
Я предполагаю, что у вас уже есть объект excel. Я буду называть это $objPHPExcel, чтобы соответствовать их примерам. В этом случае вы можете закодировать свой набор результатов и заполнить таблицу таким образом:
$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: я обновил пример, чтобы предоставить полное решение.