我有一个带有标题的框架,其中包含一些按钮(列表,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");
}
答案 0 :(得分:0)
我解决了,只需添加
if($tp==4){
ob_clean();
}
在$ html标记之前,以在加载文件时清除多余的数据