У меня есть рамка с заголовком, содержащая некоторые кнопки (список, PDF и Excel). Под заголовком перечислены данные из БД. Он отлично работает с опцией листинга, но когда я пытаюсь скачать файл 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");
}