PHP使用框架下载Excel文件空白

时间:2019-01-02 18:53:41

标签: javascript php excel

我有一个带有标题的框架,其中包含一些按钮(列表,pdf和excel)。在标题下,它列出了来自db的数据。它可以很好地与列表选项一起使用,但是当我尝试下载excel文件时,它显示空白,并显示以下消息:

  

资源被解释为文档,但以MIME类型传输   应用程序/强制下载

我已经在互联网上搜索并尝试了其他一些功能,但没有任何帮助。

php:

frames.php

<!DOCTYPE>
<frameset  bordercolor="#3399CC" rows="30,*">
    <frame name="header" id="header" src="header.php" scrolling="no" noresize>
    <frame name="List" id="List">
<noframes>
</html>
<body style="margin:0px;">
</body>
</html>
</noframes>
</frameset>

ranking.php

if ($tp==4){ // tp 4 is from excel button option
    header("Content-type: application/vnd.ms-excel");
    header("Content-type: application/force-download"); 
    header("Content-Disposition: attachment; filename=Rel.xls");
    header("Pragma: no-cache");
    echo $html;
}

header.php

<input type="button" value="Excel" id="Excel" name="Excel" onClick="javascript: List(4);" class="FlatDActv" onMouseOver="this.className='FlatActv';" onMouseOut="this.className='FlatDActv';" style="position: relative; width: 50">


function List(tp){

window.open('ranking.php?tp='+tp+'&cd_tipo='+document.getElementById('cd_tipo').value+'&dt_de='+document.getElementById('dt_de').value+'&dt_ate='+document.getElementById('dt_ate').value, "List");

}

1 个答案:

答案 0 :(得分:0)

我解决了,只需添加

if($tp==4){
    ob_clean();
}

在$ html标记之前,以在加载文件时清除多余的数据