我正在尝试使用PHP创建包含电话号码列表的文件。 它工作正常但是如果电话号码从零开始,则从Excel文件中删除该数字。
有没有人知道如何正确设置格式以使其保持不变?
答案 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' ');
它运行完美。