У меня есть простой скрипт, который выводит данные из моей базы данных в CSV-файл.PHP fputcsv показывает длинные целые числа в excel как научная нотация
Моя проблема заключается в том, что при экспорте мобильных номеров excel видит их как длинные целые числа и отображает их в научной нотации.
Если я перехожу к форматированию ячеек и изменяю их на число, все они отображаются нормально.
Есть ли способ установить столбец как целое число без изменения его в excel.
Вот мой код:
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen('php://output', 'w');
fputcsv($output, array('Book Reference','Company','Type','Site Name', 'Date', 'Time', 'Name', 'Email', 'Mobile', 'Team ID'));
Ниже приведен код, который сидит в мое время цикла
// THIS IS WHERE I SET VARIABLES
fputcsv($output, array($booking_reference,$company,$type,$site_name,$date,$time,$name,$email,$mobile,$team_id));
не может сделать Муха что бой с CSV, потому что csv абсолютно не указывает на форматирование поля. если вы хотите, чтобы «большой» номер обрабатывался как текст, вам следует, вероятно, изучить использование библиотеки excel для создания собственного файла .xls, где вы МОЖЕТЕ заставить большие числа обрабатываться как текст. –
Импортируйте файл в excel и, оттуда, вы можете определить свойства поля. Проблема связана с тем, как Excel сохраняет за собой CSV-импорт. –
Мне нравится PHPExcel для генерации файлов xls с форматированными ячейками. В этой нить SO есть еще много предложений: http://stackoverflow.com/questions/3133357/what-is-the-best-way-to-create-xls-file-in-php –