【问题标题】:use formula using setcellvalue in PHPExcel在 PHPExcel 中使用使用 setcellvalue 的公式
【发布时间】:2013-07-15 10:09:15
【问题描述】:

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

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

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

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

【问题讨论】:

  • 是您的id 中的一个单引号吗?

标签: php replace phpexcel setvalue


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢马克先生。它真的很容易.!!我变得更复杂了。它对我有用。!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
相关资源
最近更新 更多