2013-05-29 6 views
-1

это код retrive данные и вставить его, чтобы Excel листPHP и Excel лист

header("Content-Type: application/vnd.ms-excel"); 
header("Content-Type: text/html; charset=ISO-8859-1"); 
header('Content-Type:text/html; charset=UTF-8'); 
header("Content-disposition: attachment; filename=spreadsheet.xls"); 

$rs = mysql_query("select * from organizations"); 
while ($row = mysql_fetch_object($rs)) { 

    echo $row->name1 . "\t" . $row->name2 . "\t" . $row->name3 ."\t" . $row->email . "\n"; 
} 

($ row-> name1) в аравийской формате

проблема в Excel лист арабского языка неразборчивое

любое решение пожалуйста

+2

Почему вы переписываете заголовок 'Content-type' 3 раза? И представив файл с разделителями разделов с расширением '.xls'? –

+0

1) Вы дважды отправляете заголовок 'Content-Type'. 2) Это не электронная таблица Excel. Это фактически файл с разделителями табуляции (последовательность '\ t'). Я не уверен, есть ли способ «закодировать» кодовую страницу в файле, подобном этому. Вот почему вы получаете нечитаемый текст. Если вы попытаетесь импортировать его, используя арабскую кодовую страницу, я уверен, что вы все это прочитаете. –

+0

Нет, это плохо написанный код для генерации tsv-файла - используйте встроенную функцию fputcsv() PHP (http://www.php.net/manual/en/function.fputcsv.php) и используйте правильные заголовки содержимого контента, которые не являются текстом/HTML –

ответ

0

их быть некоторые 3 инструменты сторонних производителей для чтения Microsoft Word/Excel файлов, но, как упоминалось выше, лучше всего экспортировать в CSV.

+0

Постарайтесь отличать - лучшее решение - это не CSV, потому что у вас могут возникнуть проблемы с открытием в MS Excel из-за настроек локали Excel и из-за того, что в CSV сложно работать с кодировками, отличными от ASCII. Лучшее решение - создать файл xls формата BIFF или файл xlsx OfficeOpenXML, который может устранить эти проблемы –

Смежные вопросы