2015-04-07 36 views
0

我正在使用Spreadsheet::WriteExcel将数据写入excel。
我已经使用了每行write_row()。
当我尝试写有一行数据(=),它抛出一个错误说:无法解析公式:=,因为Excel中认为这是公式。
我需要使用数组作为一行写数据,所以有没有办法做到这一点?

下面的代码片段:
使用Spreadsheet写入write_row时发生错误:: WriteExcel

use Spreadsheet::WriteExcel; 
my $workbook = Spreadsheet::WriteExcel->new("../tmp/op.xls"); 
my $worksheet = $workbook->add_worksheet(); 
my @data = ('1','1','=',"testdata"); 
$worksheet->write_row("A1", \@data);   
$workbook->close(); 

输出:

Couldn't parse formula: = at 

回答

1

Spreadsheet::WriteExcel模块文件的DIAGNOSTICS部分,它指出:

未能进行解析公式...

There are a large number of warnings which relate to badly formed formulas and functions. See the "FORMULAS AND FUNCTIONS IN EXCEL" section for suggestions on how to avoid these errors. You should also check the formula in Excel to ensure that it is valid.

+0

感谢您的答复,但我想要的东西与write_row()函数的作品,并避免公式错误。 – Ganesh

1

如果你只是想在该单元格等号,你可以用一点点领先的空白,这将捅了“=”到该行没有公式错误住:

my @data = ('1','1', ' = ', "testdata"); 

作品中LibreOffice Calc也是如此。

我很好奇你打算如何在SS中使用=运算符?你可以用一个运算符取消引用一个单元格来建立一个动态的Excel公式吗?我不是一个Excel专家:-)

相关问题