Я пытаюсь использовать PHP для создания файла, содержащего список телефонных номеров. Он работает нормально, но если номер телефона начинается с нуля, цифра отбрасывается из файла Excel.
Кто-нибудь знает, как правильно настроить форматирование, чтобы он оставался на месте?
Или:
// 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');
Прямо введите строку в строку:
$type = PHPExcel_Cell_DataType::TYPE_STRING; $sheet->getCellByColumnAndRow($column, $rowno)->setValueExplicit($value, $type);
Это старый вопрос, но я недавно боролся с этой проблемой, и я думал, что это может помочь кому-то в будущем, если я опубликую дополнительную информацию здесь:
Хотя приведенные выше ответы верны, форматирование теряется при удалении столбца или строки, расположенной перед форматированной ячейкой.
Решение, которое, кажется, сопротивляется этому:
$cellRichText = new \PHPExcel_RichText($worksheet->getCell($cell)); $cellRichText->createText($cellValue);
Если по некоторым причинам ответы выше не работают, вы можете просто попытаться обернуть свои данные в кавычки, что-то вроде этого:
setCellValue('A1, '"' . $phone . '" ')
Но ваше значение будет также окружено кавычками в вашем файле.
Используйте \t
со значением типа "$phone\t"