1

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

当我生成excel文件时,它返回带有单引号的excel。我认为替换功能会很有用。

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

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

4

1 回答 1

2

完全可以在 PHPExcel 中将较大的数值写为字符串,而无需使用公式:

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

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

于 2013-07-15T13:48:54.133 回答