【问题标题】:What can you use instead of tick marks ' in PHP?你可以用什么来代替 PHP 中的刻度线?
【发布时间】:2016-06-03 15:52:07
【问题描述】:

我正在尝试将 Excel 电子表格中单元格的值设置为引用工作表并具有多个参数的公式。我的公式是:

=SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "NP")+SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PHBO")+SUMIFS('Sheet1'!AY:AY,'Shee1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PR", 'Sheet1'!AN:AN, "Both")+SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PR", 'Sheet1'!AN:AN, "Area")

我的 PHP 是:

$objPHPExcel->setActiveSheetIndex(1)
            ->setCellValue('B2', 'XXX');

其中 XXX = 上述公式。问题是因为公式中的 ' 和 " 标记出现错误。

【问题讨论】:

标签: php excel cell phpexcel formulas


【解决方案1】:
<?PHP
$stmt = <<<EOF
=SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "NP")+SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PHBO")+SUMIFS('Sheet1'!AY:AY,'Shee1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PR", 'Sheet1'!AN:AN, "Both")+SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PR", 'Sheet1'!AN:AN, "Area")
EOF;

$objPHPExcel->setActiveSheetIndex(1)
        ->setCellValue('B2', $stmt);
?>

将您的字符串分配给变量 $stmt 然后在您的函数中使用该变量。这允许将 ' 和 " 作为字符串中的字符读取,而不是由解释器读取以破坏字符串。

【讨论】:

  • 当我打开 Excel 电子表格时,公式显示为: =SUMIFS($sheet0.AY:AY,$sheet0.J:J, "Q1", $sheet0.M:M, "扩展", $sheet0.AW:AW, "NP")+SUMIFS($sheet0.AY:AY,$sheet0.J:J, "Q1", $sheet0.M:M, "扩展", $sheet0.AW :AW, "PHBO")+SUMIFS($sheet0.AY:AY,$sheet0.J:J, "Q1", $sheet0.M:M, "扩展", $sheet0.AW:AW, "PR", $sheet0.AN:AN, "两者")+SUMIFS($sheet0.AY:AY,$sheet0.J:J, "Q1", $sheet0.M:M, "扩展", $sheet0.AW:AW, "PR", $sheet0.AN:AN, "Area") 知道为什么保存时会发生变化吗?
  • 在测试它时,我只分配并回显了变量。因此,它应该可以将字符串按原样传递给您的函数。 php解释器是否出错还是只是将该字符留在excel表中?
  • 没有错误,只是改变了!到 。并将 $ 添加到公式中。
  • 尝试将 HEREDOC 声明更改为 NOWDOC,$stmt=
  • 不!但我非常感谢你的帮助,你让我更接近了。我会继续尝试不同的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-19
相关资源
最近更新 更多