У меня проблемы с Spreadsheet :: WriteExcel и формулами, которые используют VLOOKUP
. Следующий тестовый скрипт заполняет рабочий лист некоторыми данными и пытается создать формулу VLOOKUP
. Когда я открываю полученный файл Excel, результаты формулы отображаются как #VALUE!
. Если я вручную отредактирую одну из ячеек, содержащих формулы (нажмите F2, а затем просто ВВОД, ничего не меняя), я смогу заставить Excel правильно оценить формулу. Есть идеи, что не так?
Для чего стоит, если я открою тот же файл в OpenOffice, формулы работают нормально.
use strict;
use warnings;
use Spreadsheet::WriteExcel;
my $wb = Spreadsheet::WriteExcel->new('foo.xls');
my $ws = $wb->add_worksheet;
for my $r (0 .. 9){
for my $c (0 .. 4){
$ws->write($r, $c, $r * 10 + $c);
}
$ws->write($r, 10, $r * 10);
my $formula = sprintf('=VLOOKUP(K%s, A1:B10, 2, FALSE)', $r + 1);
$ws->write( $r, 11, $formula );
# $ws->write_formula( $r, 11, $formula ); # Does not help either.
}
Информация о версии:
- Excel 2007 SP2.
- Spreadsheet :: WriteExcel: пробовал 2,25 и 2,37.