Как сохранить начальные нули в числовых строковых значениях, когда файл CSV, созданный с помощью PHP, импортируется в Excel? - PullRequest
2 голосов
/ 11 апреля 2019

У меня есть код, который создает файл CSV и помещает туда определенные данные.Некоторые из этих данных являются текстовыми, а некоторые являются числовыми строками.Когда этот файл CSV импортируется в Excel, программа удаляет начальные нули из числовых строк (номера телефонов и почтовые индексы).Есть ли способ, которым я могу отформатировать / изменить эти числовые строковые значения, чтобы Excel мог читать их так, чтобы он сохранял начальные нули?Или проблема только в Excel, и эта проблема должна быть отработана оттуда?

Я пытался добавить апостроф перед числовыми строками и цифрами, но апостроф тоже останется, и я этого не хочу.

$dataorder = ["Receiver:", $_POST['orderperson'], $_POST['address'], $_POST['postnumber'], $_POST['city'], $_POST['email'], $_POST['phone']];

fputcsv($fh, $dataorder, $delimeter);

1 Ответ

0 голосов
/ 11 апреля 2019

Excel не знает, как обрабатывать поле, содержащее только цифры, и поэтому оно обрезает любые начальные нули. Вы ничего не можете сделать в процессе создания CSV. Что вы можете сделать, это сказать Excel, как обрабатывать каждый столбец данных при импорте файла CSV. На шаге 3, когда вы импортируете текстовые данные ( Вкладка данных> Из текста> Выбрать файл CSV ), Excel позволяет вам выбрать тип данных каждого столбца, который по умолчанию равен General; измените его на Text для числовых полей, и он будет содержать все ведущие нули. Вот снимок экрана с шагом 3 средства импорта текста, он на греческом языке, но вы получите точку (Γενική -> General, Κείμενο -> Text):

Excel CSV import

...