Я использую следующий код для загрузки результата из запроса mysql в файл excel.Невозможно избавиться от диалогового окна файла загрузки при последующих запросах
function Button14Click($sender, $params)
{
IF ($this->ReadTheDates($Date1,$Date2))
{
mysql_connect('myServer','user','password');
mysql_select_db('myDatabase');
$SQLstr2 = $this->GetMySQL();
$result = mysql_query($SQLstr2);
// filename for download
$filename = "File " .$Date1.' '.$Date2. ".xls";
header("Content-Disposition: attachment; filename=\"$filename\"");
$flag = false;
while($row = mysql_fetch_assoc($result))
{
if(!$flag)
{ // display field/column names as first row
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
array_walk($row, 'cleanData');
echo implode("\t", array_values($row)) . "\r\n";
}
exit();
}
После установки заголовка для загрузки данных через файл, например, заголовок ("DISP содержания ...) этот заголовок остается активным, пока я вручную перезагрузить страницу. Если я в следующей команде, например, создать и запускать новый запрос не для загрузки. Я все еще получаю диалог загрузки с файлом, который я только что загрузил!
Как сбросить или удалить заголовок до состояния, которое у него было до того, как я изменил его с помощью заголовка команды (. ..), как описано выше, и вернуться к «нормальному» выполнению так сказать?
Я пробовал с header_remove() и несколькими способами перезагрузить страницу из кода без успеха.
um what? вы отправляете заголовок, чтобы браузер ожидал загрузки файла - так что вы хотите сделать> –
также его не файл excel, именование файла * .xls меняет формат данных. его просто табуляция ограничена, может также создать csv - гораздо лучше совместимость –
Я подредактировал свой вопрос и попытался быть более конкретным по моей проблеме и вопросу. Да, я знаю, что это не станет excelfile, только назвав его .xls, это способ заставить Windows открыть его с помощью Excel без каких-либо вопросов пользователю. – Dag