I am trying to generate excel file for my dynamic query using below codes.
$cname = $_POST["cname"];
$cnote = $_POST["cnote"];
$ccondition = $_POST['sql'];
$crange = $_POST['start'] . "-" . $_POST['end'];
$sql_query = $ccondition;
$filename = "export".date('Ymd') . ".xls";
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment; filename=\"$filename\"");
$show_coloumn = false;
$resultset = mysqli_query($mysqli, $sql_query) or die("database error:". mysqli_error($mysqli));
$rowcount=mysqli_num_rows($resultset);
$developer_records = array();
while( $rows = mysqli_fetch_assoc($resultset) ) {
$developer_records[] = $rows;
}
if(!empty($developer_records)) {
foreach($developer_records as $record) {
if(!$show_coloumn) {
echo implode("\t", array_keys($record)) . "
";
$show_coloumn = true;
}
echo implode("\t", array_values($record)) . "
";
}
}
I am facing two issue in it. 1) When I try to open it in excel 2016, its giving error like below but when I press yes its opening file. 2) each my exported excel file have two blank row on top before header row, I don't know from where its coming and how I can fix it.
I have searched lot for it but I have not found any working solution for it. Let me know if someone can help me for solve the issues. Thanks