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

php phpexcel

64081 просмотра

5 ответа

197 Репутация автора

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

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

Автор: Dan Источник Размещён: 16.06.2010 02:41

Ответы (5)


16 плюса

61866 Репутация автора

Установите тип в строку явно:

$type = PHPExcel_Cell_DataType::TYPE_STRING;
$sheet->getCellByColumnAndRow($column, $rowno)->setValueExplicit($value, $type);
Автор: Sjoerd Размещён: 16.06.2010 02:46

69 плюса

186367 Репутация автора

Решение

Или:

// 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');
Автор: Mark Baker Размещён: 16.06.2010 02:50

1 плюс

151 Репутация автора

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

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

Решение, которое кажется устойчивым к этому:

$cellRichText = new \PHPExcel_RichText($worksheet->getCell($cell));                        
$cellRichText->createText($cellValue);
Автор: Tomasz Размещён: 22.01.2014 04:05

1 плюс

901 Репутация автора

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

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

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

Автор: keepthepeach Размещён: 21.04.2015 05:05

1 плюс

72 Репутация автора

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

Автор: Nishad Aliyar Размещён: 22.08.2016 12:29
Вопросы из категории :
32x32