mysqli экспорт в выпуск xls

Я получил эту работу, и я не могу понять, в чем проблема.
Я загружаю файл xls, но он все еще открывается.
У меня был такой скрипт mysql, который работал, и я попытался преобразовать его в mysqli, и, возможно, что-то не так …
заранее спасибо

$sqlExp = "SELECT * FROM table";
$countQryExp  = mysqli_query($link, $sqlExp );
$filename = "sampledata.xls"; // File Name

header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");

$flag = false;

while($row=mysqli_fetch_array($countQryExp,MYSQLI_ASSOC))
{
if(!$flag) {
// display field/column names as first row
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}
echo implode("\t", array_values($row)) . "\r\n";
}

0

Решение

Существует гораздо больше для создания файла Excel, чем придание ему типа содержимого application/vnd.ms-excel, Excel — это очень специфический формат, в то время как вы генерируете файл TSV — значения, разделенные табуляцией, и довольно ломким способом (что произойдет, если кто-то поместит \t в одном из полей вашего сайта или в новой строке?).

Если вы хотите создавать реальные файлы Excel, вам нужно одна из различных библиотек за это. Если CSV / TSV в порядке, просто экспортируйте .csv/.tsv файл с правильными заголовками.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]