加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHPExcel上的公式问题(Excel2007)

发布时间:2020-12-13 17:30:45 所属栏目:PHP教程 来源:网络整理
导读:当我尝试使用公式设置单元格的值时,例如:setCellValue(‘C1′,’= A1 B1’),生成的文件没有单元格的计算值. 我有以下脚本: ?phprequire_once '../vendor/autoload.php';date_default_timezone_set('America/Sao_Paulo');$objPHPExcel = new PHPExcel();$ob
当我尝试使用公式设置单元格的值时,例如:setCellValue(‘C1′,’= A1 B1’),生成的文件没有单元格的计算值.

我有以下脚本:

<?php

require_once '../vendor/autoload.php';
date_default_timezone_set('America/Sao_Paulo');

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1',5)
    ->setCellValue('B1',10)
    ->setCellValue('C1','=A1+B1');
echo $objPHPExcel->getActiveSheet()->getCell('C1')->getCalculatedValue() . PHP_EOL;

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$objWriter->save('a.xlsx');

当我用libreoffice打开a.xlsx时,单元格C1显示字符串“0”.奇怪的是,当我点击单元格时,它实际显示“= A1 B1”,但不是最终结果.

如何让PHPExcel正确使用公式?

解决方法

我对LibreOffice 5.0.5.2也有同样的问题.

更改LibreOffice Calc中的以下选项对我有用:

>转到工具/选项… / LibreOffice Calc / Formula
>在“重新计算文件加载”,“Excel 2007及更新版本”部分中,将值更改为“始终重新计算”

找到了
https://ask.libreoffice.org/en/question/12165/calc-auto-recalc-does-not-work/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读