#!/usr/local/bin/perl -w use strict; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new("test.xls"); my $worksheet = $workbook->addworksheet("foo"); my $formula = $worksheet->store_formula('=SUBTOTAL(9,A1:B1)'); foreach my $row (0..99) { $worksheet->write($row,0,$row+1); $worksheet->write($row,1,$row+1); $worksheet->repeat_formula($row,2,$formula,undef,qr/A1\b/,'A'.($row+1),qr/B1\b/,'A'.($row+2)); $worksheet->repeat_formula($row,3,$formula,undef,qr/A1\b/,'B'.($row+1),qr/B1\b/,'B'.($row+2)); }