use Dancer; use utf8; use Excel::Writer::XLSX; # Step 0 get '/xxx' => sub { my $buffer; open my $fh, '>', \$buffer; my $workbook = Excel::Writer::XLSX->new( $fh ); # Step 1 my $worksheet = $workbook->add_worksheet(); # Step 2 $worksheet->write( 'A1', 'Hi Excel!' ); # Step 3 $workbook->close(); close $fh; return send_file( \$buffer, content_type => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', filename => 'xxx.xlsx', ); }; dance;