Это очень легко сделать с помощью библиотеки PHPExcel .Он не будет читать базу данных для вас;но вы можете легко написать сценарий, который читает базу данных, а затем создайте рабочий лист по мере прохождения циклов по строкам.
РЕДАКТИРОВАТЬ
Прочитайте документацию, посмотрите например кода:
require_once './Classes/PHPExcel.php';
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC";
if ($result = $mysqli->query($query)) {
// Create a new PHPExcel object
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setTitle('List of Cities');
// Loop through the result set
$rowNumber = 1;
while ($row = $result->fetch_row()) {
$objPHPExcel->getActiveSheet()->fromArray($row,NULL,'A'.$rowNumber++);
}
// Save as an Excel BIFF (xls) file
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('CityList.xls');
}