Php MySQLi查询到Excel生成两个空行

Php MySQLi查询到Excel生成两个空行,php,phpexcel,Php,Phpexcel,我正在尝试使用以下代码为我的动态查询生成excel文件 $cname = $_POST["cname"]; $cnote = $_POST["cnote"]; $ccondition = $_POST['sql']; $crange = $_POST['start'] . "-" . $_POST['end']; $sql_query = $ccondition; $filename = "export".date

我正在尝试使用以下代码为我的动态查询生成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文件在标题行之前的顶部有两个空行,我不知道它来自何处以及如何修复它


我找了很多,但没有找到任何有效的解决办法。如果有人能帮我解决问题,请告诉我。谢谢

你为什么说它的xls而不是?为什么不写一个合适的csv呢?我需要一个特定用途的XLS文件尝试一次:-
标题(“内容类型:application/vnd.ms excel”)
以及在
foreach()
中添加一个条件,比如
if(count(array_filter($record))>0{then only do stuff}
还向我们显示了
$developer_records
[不是全部数据,而是其中的一部分]的一些数据,好的,但这不是您创建选项卡描述文件的内容。如果你想创建一个合适的xls文件,你需要这样的东西:为什么你说它的xls而不是?为什么不写一个合适的csv呢?我需要一个特定用途的XLS文件尝试一次:-
标题(“内容类型:application/vnd.ms excel”)
以及在
foreach()
中添加一个条件,比如
if(count(array_filter($record))>0{then only do stuff}
还向我们显示了
$developer_records
[不是全部数据,而是其中的一部分]的一些数据,好的,但这不是您创建选项卡描述文件的内容。如果要创建正确的xls文件,您需要: