Правильный формат для строк/чисел, начинающихся с нуля?
Я пытаюсь использовать PHP для создания файла, содержащего список телефонных номеров.
Он работает нормально, однако, если номер телефона начинается с нуля, цифра отбрасывается из файла Excel.
Кто-нибудь знает, как правильно настроить форматирование, чтобы он оставался на месте?
Ответы
Ответ 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"