lundi 9 mars 2015

How to export data from database to excel and force download it? PHPExcel

I have created a code that fetch data from the database, its working except for the last part which is force download into the browser. I don't know whats the problem. This is my code so far..



$PHP_Excel->setActiveSheetIndex(0);
$Row_Count = 0;

$Query = mysqli_query($Connection->con(),"SELECT
users.User_ID ,
users.First_Name ,
users.Middle_Name ,
users.Last_Name ,
users.Role ,
users.Status
FROM users
INNER JOIN sections_students
ON users.User_ID = sections_students.User_ID
INNER JOIN sections
ON sections_students.Section_ID = sections.Section_ID
WHERE users.Department_ID = '" . $_SESSION['Department_ID'] . "'
AND (users.Role = 'Project Leader'
OR users.Role = 'Project Member')
AND sections.Academic_Year = '" . $_SESSION['Academic_Year'] . "'
AND sections.Semester = '" . $_SESSION['Semester'] . "'");

while ($Row = mysqli_fetch_array($Query)) {
$PHP_Excel->getActiveSheet()->setCellValue("A" . ((String)($Row_Count)),$Row['User_ID']);
$PHP_Excel->getActiveSheet()->setCellValue("B" . ((String)($Row_Count)),$Row['First_Name']);
$PHP_Excel->getActiveSheet()->setCellValue("C" . ((String)($Row_Count)),$Row['Middle_Name']);
$PHP_Excel->getActiveSheet()->setCellValue("D" . ((String)($Row_Count)),$Row['Last_Name']);
$PHP_Excel->getActiveSheet()->setCellValue("E" . ((String)($Row_Count)),$Row['Role']);
$PHP_Excel->getActiveSheet()->setCellValue("F" . ((String)($Row_Count)),$Row['Status']);

$Row_Count++;
}

$PHP_Excel->getProperties()->setCreator($_SESSION['Name']);
$PHP_Excel->getProperties()->setLastModifiedBy($_SESSION['Name']);
$PHP_Excel->getProperties()->setTitle("Office 2007 XLSX Document");
$PHP_Excel->getProperties()->setSubject("Office 2007 XLSX Document");
$PHP_Excel->getProperties()->setDescription("Student Record Document for Office 2007 XLSX");

$PHP_Excel->getActiveSheet()->setTitle('Student Record');

header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment;filename=" . $Excel_ID . "-student-records.xls");
header("Cache-Control: max-age=0");

$PHP_Excel_Writer = new PHPExcel_Writer_Excel2007($PHP_Excel);
$PHP_Excel_Writer->save("php://output");




Aucun commentaire:

Enregistrer un commentaire