在PHPExcel中使用setcellvalue的公式

在PHPExcel中使用setcellvalue的公式,php,replace,phpexcel,setvalue,Php,Replace,Phpexcel,Setvalue,我想用“替换”公式在excel中设置值。我的代码生成的数字超过16位,我无法在PHPExcel中编写。(Excel不支持写入超过16位的数字,它会将最后一位数字转换为“零”。如果要添加16位数字,我需要将数字类型转换为文本)。 所以我在mysql中使用concat函数,它将1234567890123456位数字返回到1234567890123456 当我生成excel文件时,它返回单引号并附加excel。 我认为replace函数会很有用 $id = "'1234567890123456"; $

我想用“替换”公式在excel中设置值。我的代码生成的数字超过16位,我无法在PHPExcel中编写。(Excel不支持写入超过16位的数字,它会将最后一位数字转换为“零”。如果要添加16位数字,我需要将数字类型转换为文本)。 所以我在mysql中使用concat函数,它将1234567890123456位数字返回到1234567890123456

当我生成excel文件时,它返回单引号并附加excel。 我认为replace函数会很有用

$id = "'1234567890123456";
$objPHPExcel->getActiveSheet()->setCellValue('A2', '=REPLACE("'.$id.'"|1|1|)');

这根本不起作用。我做错了吗?

完全可以在PHPExcel中以字符串形式写入大数值,而不必使用公式:

$id = "1234567890123456";
$objPHPExcel->getActiveSheet()
    ->setCellValueExplicit('A2', $id);

setCellValue()将单元格的数据类型设置为数字;但是setCellValueExplicit()允许您指定一个数据类型作为第三个参数-它默认为phpexcell_Cell_datatype::TYPE_STRING,因此在这种情况下您不需要传递该参数

您的
id
中的一个引号是故意的吗?非常感谢Mark先生。这真的很容易。!!我被弄得更复杂了。这是我的工作。!!