I\'m trying to use PHP to create a file containing a list of phone numbers. It\'s working OK however if the phone number begins with zero, the digit is dropped from the Exce
Set the type to string explicitly:
$type = PHPExcel_Cell_DataType::TYPE_STRING;
$sheet->getCellByColumnAndRow($column, $rowno)->setValueExplicit($value, $type);
Either:
// Set the value explicitly as a string
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '0029', PHPExcel_Cell_DataType::TYPE_STRING);
or
// Set the value as a number formatted with leading zeroes
$objPHPExcel->getActiveSheet()->setCellValue('A3', 29);
$objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()->setFormatCode('0000');
If for some reason the answers above don't work, you can simply try to wrap your data in quotes, something like this:
setCellValue('A1, '"' . $phone . '" ')
But your value will be surrounded by quotes in your file as well.
Use \t
with the value like "$phone\t"
This is an old question but I was recently struggling with this issue and I thought it may help someone in the future if I post some additional info here:
Whilst the above answers are correct, the formatting gets lost when you remove a column or row that is located before the formatted cell.
The solution that seems to be resistand to that is:
$cellRichText = new \PHPExcel_RichText($worksheet->getCell($cell));
$cellRichText->createText($cellValue);
In My case, I'm using
->setCellValue('A3', ' '0000123456789000' ');
And it's work perfectly.