PHP загружает файл Excel, используя пустые фреймы - PullRequest
0 голосов
/ 02 января 2019

У меня есть рамка с заголовком, содержащая некоторые кнопки (список, 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");

}

1 Ответ

0 голосов
/ 18 марта 2019

Я решил, просто добавив

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

перед тегами $ html, чтобы очистить лишние данные при загрузке файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...