MySQLi Query To Excel, генерирующий две пустых строки - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь создать файл 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, он выдает ошибку, как показано ниже, но когда я нажимаю «да», открывается его файл. enter image description here 2) каждый мой экспортированный файл Excel имеет две пустые строки вверху перед строкой заголовка, я не знаю, откуда он и как это исправить.

enter image description here

Я много раз искал его, но не нашел для него ни одного рабочего решения. Дайте мне знать, если кто-то может помочь мне решить проблемы. Спасибо

...