我正在尝试使用 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"
就我而言,我正在使用
->setCellValue('A3', ' '0000123456789000' ');
它工作得很好。