Я пытаюсь создать файл Excel для моего динамического запроса, используя приведенные ниже коды.
$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)) . "\n";
$show_coloumn = true;
}
echo implode("\t", array_values($record)) . "\n";
}
}
Я столкнулся с двумя проблемами в этом.
1) Когда я пытаюсь открыть его в Excel 2016, он выдает ошибку, как показано ниже, но когда я нажимаю «да», открывается его файл.
2) каждый мой экспортированный файл Excel имеет две пустые строки вверху перед строкой заголовка, я не знаю, откуда он и как это исправить.
Я много раз искал его, но не нашел для него ни одного рабочего решения. Дайте мне знать, если кто-то может помочь мне решить проблемы. Спасибо