Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Perl module to write Excel binary files

Fetching latest commit…

Cannot retrieve the latest commit at this time


    Spreadsheet::WriteExcel - Write formatted text and numbers to a
    cross-platform Excel binary file.


    The Spreadsheet::WriteExcel module can be used to create a cross-
    platform Excel binary file. Multiple worksheets can be added to a
    workbook and formatting can be applied to cells. Text, numbers,
    formulas, hyperlinks and images can be written to the cells.

    TThe Excel file produced by this module is compatible with 97,
    2000, 2002 and 2003.

    The module will work on the majority of Windows, UNIX and
    Macintosh platforms. Generated files are also compatible with the
    spreadsheet applications Gnumeric and

    This module cannot be used to read an Excel file. See
    Spreadsheet::ParseExcel or look at the main documentation for some
    suggestions. This module cannot be uses to write to an existing
    Excel file.


    To write a string, a formatted string, a number and a formula to
    the first worksheet in an Excel workbook called perl.xls:

        use Spreadsheet::WriteExcel;

        # Create a new Excel workbook
        my $workbook = Spreadsheet::WriteExcel->new("perl.xls");

        # Add a worksheet
        $worksheet = $workbook->add_worksheet();

        #  Add and define a format
        $format = $workbook->add_format(); # Add a format

        # Write a formatted and unformatted string.
        $col = $row = 0;
        $worksheet->write($row, $col, "Hi Excel!", $format);
        $worksheet->write(1,    $col, "Hi Excel!");

        # Write a number and a formula using A1 notation
        $worksheet->write('A3', 1.2345);
        $worksheet->write('A4', '=SIN(PI()/4)');


    This module requires Perl 5.005 (or later), Parse::RecDescent
    and File::Temp:


    See the INSTALL file for details.


    John McNamara (

Something went wrong with that request. Please try again.