use strict
use Spreadsheet::WriteExcel;
my $Workbook = Spreadsheet::WriteExcel->new('cw.xls');
my $Worksheet = $Workbook->add_worksheet('MRD');
my $Formula= "A10+B10/2";
$Worksheet->write_formula(1,2,'='.($Formula));
exit;
获取错误:
Couldn't parse formula: =A10+B10/2;
注意:在我正在使用的公式中包含工作表数据调用。 当我在excel表中手动粘贴它的工作正常但通过程序我无法将其放在工作表中。
如果有任何人遇到此问题或有解决方案,请告诉我。
答案 0 :(得分:1)
如果您看到Spreadsheet::WriteExcel模块的文档,则会在DIAGNOSTICS部分中说明:
无法解析公式...
有大量警告与形成错误的公式和功能有关。有关如何避免这些错误的建议,请参阅“FORMULAS AND FUNCTIONS IN EXCEL”部分。您还应该检查Excel中的公式以确保它有效。
答案 1 :(得分:1)
将公式存储在变量中并将其传递给write_formula()没有问题。事实上,上面你自己的代码片段证明它有效。
所以问题在于您正在尝试编写的公式。由于您尚未发布公式,因此很难猜出问题可能是here are some formula debugging tips from the docs:
P.S。当您使用write_formula()时,不需要前导'=',因此您可以使用:
$Worksheet->write_formula(1, 2, $Formula);