roho has asked for the wisdom of the Perl Monks concerning the following question:

When I run the code below I get the error message "Unknown method: Excel::Writer::XLSX::Format::set_font_color". This method is listed in the docs, but does not appear to be present in the module. I have opened a bug report on the module, but am wondering if anyone else has run into this and if there are any known workarounds.

I am running Strawberry Perl 5.24.1 on Windows 10 and using version 1.03 of Excel::Writer::XLSX.

#!/usr/bin/perl use strict; use warnings; use Excel::Writer::XLSX; my $workbook = Excel::Writer::XLSX->new( 'test.xlsx' ); my $worksheet = $workbook->add_worksheet("Sheet1"); my $format = $workbook->add_format(); $format->set_font_color( 'red' ); $worksheet->write( 'A1', 'test' ); $workbook->close() if defined $workbook;

"It's not how hard you work, it's how much you get done."

Replies are listed 'Best First'.
Re: Unable to Write Spreadsheet Text in Color
by choroba (Cardinal) on Mar 13, 2020 at 01:22 UTC
    It's just a mistake in the documentation. Use set_color instead.

    Also, you need to specify the format as the third argument to write in order to use it:

    $format->set_color( 'red' ); $worksheet->write( 'A1', 'test', $format );

    map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
      Thanks choroba. That was it. And you're right about the format; it was an oversight in my sample code.

      "It's not how hard you work, it's how much you get done."