创建.xls文件并使用php以邮件形式发送

创建.xls文件并使用php以邮件形式发送,php,excel,email,Php,Excel,Email,我创建xls文件并将其附加到邮件中的代码如下: header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=test.xls"); header("Pragma: no-cache"); header("Expires: 0"); $sep = "\t"; echo "Name \t Email \t Phone \t \n "; while(

我创建xls文件并将其附加到邮件中的代码如下:

header("Content-Type: application/vnd.ms-excel");   
header("Content-Disposition: attachment; filename=test.xls");
header("Pragma: no-cache");
header("Expires: 0");

$sep = "\t"; 
echo "Name \t Email \t Phone  \t \n ";

while($row = mysqli_fetch_array($result,MYSQLI_BOTH)){
    $schema_insert = "";
            $schema_insert .= "$row[0]".$sep;
            $schema_insert .= "$row[1]".$sep;
            $schema_insert .= "$row[2]".$sep;

            $schema_insert = str_replace($sep."$", "", $schema_insert);
            $schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
            $schema_insert .= "\t"; 
            print(trim(str_replace(',', " ", $schema_insert)));
            print "\n";
}
文件内容('test.xls',$schema\u insert)

它创建.xls文件和邮件附件工作完美。这一切都发生在我点击提交按钮时。 我的问题是当我点击submit按钮时,这个.xls文件被下载了。这不应该发生.xls文件中的列名
echo“name\t Email\t Phone\t\n”仅显示在单击提交按钮下载的.xls文件中。但是发送到邮件中的.xls文件只包含行数据,不包含列名。
有人能指出我的代码中有什么错误吗?最后,这个.xls文件应该可以从mail下载。但我只能在新选项卡中查看它。没有预览,无法下载。
任何帮助都将不胜感激。谢谢。

i)单击按钮时,删除标题代码以避免下载

ii)更改字段名代码,如下所示:

$schema_insert = "Name \t Email \t Phone  \t \n ";
$schema_insert = "Name \t Email \t Phone  \t \n ";