正确的字符串/数字格式从零开始?

时间:2010-06-16 14:41:13

标签: php phpexcel

我正在尝试使用PHP创建包含电话号码列表的文件。 它工作正常但是如果电话号码从零开始,则从Excel文件中删除该数字。

有没有人知道如何正确设置格式以使其保持不变?

6 个答案:

答案 0 :(得分:68)

或者:

// 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');

答案 1 :(得分:16)

将类型明确设置为字符串:

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

答案 2 :(得分:1)

这是一个古老的问题,但我最近在努力解决这个问题,如果我在这里发布一些额外的信息,我认为它可能在将来有所帮助:

虽然上述答案是正确的,但当您删除位于格式化单元格之前的列或行时,格式会丢失。

似乎抵制的解决方案是:

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

答案 3 :(得分:1)

如果由于某种原因上面的答案不起作用,您可以简单地尝试用引号将数据包装起来,如下所示:

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

但是你的价值也会被文件中的引号所包围。

答案 4 :(得分:1)

"$phone\t"与{{1}}

等值一起使用

答案 5 :(得分:0)

就我而言,我正在使用

->setCellValue('A3', ' '0000123456789000' ');

它运行完美。