in reply to Using Win32::OLE on cygwin

Try anchoring the file to the current working directory.

my $file = './template_001.xlsx';

Just a guess. I know that directories and file access work differently under Cygwin than they do under plain old Windows.

UPDATE:  Your script works for me without modification under Cygwin.