我一直在尝试在PHPExcel中设置一个包含百分号的值。
我根本找不到如何逃避它,所有搜索都指向我如何格式化百分比,但这不是我需要的。
我目前的问题是:
$cell = 'Z12';
$value = '=Y12-(Y12*20%)';
$excel->setActiveSheetIndex(0)->setCellValue($cell, $value);
答案 0 :(得分:1)
此问题特定于Excel5 Writer,百分比运算符在其他编写器中正常工作。
我即将修复github,但同时您可以编辑Classes/PHPExcel/Writer/Excel5/Parser.php
文件。
第1431-1437行目前已阅读:
if($this->_lookahead == '%'){
$result = $this->_createTree('ptgPercent', $this->_current_token, '');
} else {
$result = $this->_createTree($this->_current_token, '', '');
}
$this->_advance();
return $result;
通过额外调用$this->_advance();
%
运算符预测分支来修改这些内容:
if($this->_lookahead == '%'){
$result = $this->_createTree('ptgPercent', $this->_current_token, '');
$this->_advance(); // Skip the percentage operator once we've pre-built that tree
} else {
$result = $this->_createTree($this->_current_token, '', '');
}
$this->_advance();
return $result;