Подтвердить что ты не робот

Правильный формат для строк/чисел, начинающихся с нуля?

Я пытаюсь использовать PHP для создания файла, содержащего список телефонных номеров. Он работает нормально, однако, если номер телефона начинается с нуля, цифра отбрасывается из файла Excel.

Кто-нибудь знает, как правильно настроить форматирование, чтобы он оставался на месте?

4b9b3361

Ответ 1

Или:

// Set the value explicitly as a string
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '0029', PHPExcel_Cell_DataType::TYPE_STRING);

или

// Set the value as a number formatted with leading zeroes
$objPHPExcel->getActiveSheet()->setCellValue('A3', 29);
$objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()->setFormatCode('0000');

Ответ 2

Прямо введите тип в строку:

$type = PHPExcel_Cell_DataType::TYPE_STRING;
$sheet->getCellByColumnAndRow($column, $rowno)->setValueExplicit($value, $type);

Ответ 3

Это старый вопрос, но я недавно боролся с этой проблемой, и я думал, что это может помочь кому-то в будущем, если я напишу дополнительную информацию здесь:

Хотя приведенные выше ответы верны, форматирование теряется при удалении столбца или строки, расположенной перед форматированной ячейкой.

Решение, которое, кажется, сопротивляется этому:

$cellRichText = new \PHPExcel_RichText($worksheet->getCell($cell));                        
$cellRichText->createText($cellValue);

Ответ 4

Если по какой-то причине ответы выше не работают, вы можете просто попытаться обернуть свои данные в кавычки, что-то вроде этого:

setCellValue('A1, '"' . $phone . '" ')

Но ваше значение будет также окружено кавычками в вашем файле.

Ответ 5

Используйте \t со значением, например "$phone\t"