Что ж, Excel 2003 может открывать файлы CSV, и если разделитель является вкладкой, он может автоматически преобразовывать данные в правильные столбцы.
Что ж, проблема в символах, которые не являются символами ascii.Libreoffice открывает диалоговое окно для выбора набора символов, но в Excel 2003 этого не происходит и импортирует символы в неправильный набор символов.
<?php
$filename ="excelreport.xls";
$contents1 = "Name \t Location (where from) \t Age \t \n";
$contents = "testdata1 \t testdata2 \t testdata3 \t \n";
$problematicData = array('ä', 'ö', 'õ', 'ü');
header('Content-type: application/ms-excel');
header('Content-Disposition: attachment; filename='.$filename);
echo $contents1;
echo $contents;
echo implode(" \t ", $problematicData);
// РЕДАКТИРОВАТЬ Возможно, я обнаружил исправление, добавившее этот заголовок («Тип контента: приложениеms-excel; charset = utf-8; encoding = utf-8 ');Но я не проверял это с Excel 2003.