The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl module Spreadsheet::WriteExcel.

2.40 2013-11-06

    ! Fix for minor typo/bug that caused issues with Math::BigInt.
      RT 90061.


2.39 2013-06-06

    ! Added Debian patch for Pod encoding. RT #85897.
      Thanks Gregor Herrmann.


2.38 2012-22-11

    Maintenance release. Minor fixes only.

    ! Removed failing testcases to allow S::WE to be tested/packaged
      on recent perls.

    ! Fix filter_column bug where filter is applied to the wrong column.
      Merge pull request #4 from blazzy/master.

    ! Enabled set_zoom() for Chart worksheets. It was documented but
      wasn't working. Reported by Praphull Kumar.

    ! Enabled set_tab_color() for Chart worksheets. It was documented
      but wasn't working.

    ! Fix typo in docs. Closes RT#70432.

    ! Fix for rounding in test with longdoubles. Fixes RT#68954.

    ! Handle chart sheets with utf8 name. Fixes RT#67014.

    ! Fix for undefined formulas. Fixes RT#61560.


2.37 2010-02-02

    + Added set_chartarea() and set_plotarea() methods to set
      chart and plot background colours and border lines.

    ! Fixed bug where embedded charts gave "Data may be lost"
      warning. Reported by Andreas Strobitzer.

    ! Fixed issue where set_properties() didn't work with ::Big.
      Marked ::Big as deprecated in the docs in favour of using
      Spreadsheet::WriteExcel directly. Removed WorkbookBig.pm.


2.36 2010-21-01

   ! Fix for bug that gave a name conflict error for repeat rows and
     autofilters in some non-English versions of Excel.
     http://rt.cpan.org/Public/Bug/Display.html?id=38099

   ! Fixed tab selection for Charts.

   + Added xl_range_formula() to Spreadsheet::WriteExcel::Utility to
     help with creating chart ranges. Added example to Chart docs.

   + Added set_legend() method with initial legend formatting options.

   + Documented Worksheet methods that are applicable to Charts.


2.35 2010-10-01

    + Added support for Stock charts.

    + Added support for Scatter charts.

    + Improved Pie chart examples.


2.34 2010-08-01

    + Added support for Pie charts.

    ! Re-added index.html in docs dir for Debian (and others).
      http://rt.cpan.org/Public/Bug/Display.html?id=53346

    ! Fix for incorrectly encoded string result in repeat_formula().


2.33 2010-03-01

    + Added support for embedded charts. See insert_chart().


2.32 2009-31-12

    + Added support for native charts. See Charts.pm.
      Column, Bar, Line and Area charts supported.

    ! Fixed Apache2::Const vars in mod_perl2.pl example.
      Thanks to Ryan Perry.


2.31 2009-10-12

    ! Fixed resources in Makefile.PL.

    ! Updated screenshots of example programs.


2.30 2009-25-11

    ! Updated Pod generator to include screenshots of example programs.


2.29 2009-25-11

    ! Made version 0.19 of OLE::Storage_Lite a prerequisite to avoid
      issues when using set_properties with Win 7 or Gnumeric.


2.28 2009-22-11

    ! Fix to NAME section in Example.pm to get CPAN to generate pod docs
      for it.


2.27 2009-21-11

    + Added autogenerated Examples.pm.


2.26 2009-13-11

    + Beta release of defined names.

    ! Fix for fuzzy images issue reported by Todd Eigenschink.
    + Added 25_position_object.t tests to cover above issue.

    ! Fixed bug where file size wasn't found for progressive JPEGs.
      Reported by Yamashita Junji and Bruce Anderson II.

    + Added set_country() method.

    ! Fix for UTF8 strings passed to write_url().
      Reported by Jon Schutz.
      http://rt.cpan.org/Public/Bug/Display.html?id=41048

    ! Fixed very minor issue with uninitialised value for top
      border colour in formats. Reported by Franz Fasching.


2.25 2008-09-09

    ! Fix for set_properties() bug due to 5.10/5.8 UTF-8 differences.

    ! Fix for failing tests due to localtime() issues.


2.24 2008-06-09

    + Added set_properties() method to set document properties.
      Added test suite and example.


2.23 2008-10-08

    + Added Excel data validation with examples and test suite.


2.22 2008-19-07

    + Added JPEG support.

    + Added 29_process_jpg.t test for jpg dimension processing.

    + Turned off compatibility_mode() in Spreadsheet::WriteExcel::Big
      which was on by accident.

    + Added "Warning about Office Service Pack 3" section to the
      docs to explain Excel warnings with duplicate data.

    + Expanded "Dates and Time in Excel" section of the docs.

    + Added isa() to _process_images() to allow subclassing.
      Reported by David Worenklein.


2.21 2008-09-03

    ! Fixed bug where UTF-8 strings in formulas weren't handled.
      Thanks Sergey Zhuravlev.
      http://rt.cpan.org/Public/Bug/Display.html?id=30368

    ! Fixed collapse outlines compatibility with Gnumeric
      and OpenOffice.org.
      Reported by Barrie Slaymaker.
      http://rt.cpan.org/Public/Bug/Display.html?id=33662

    + Added outline_collapsed.pl example.

    + Added document section about rewriting Excel files.

    + Minor security fix to Format to avoid eval and
      additional fix for RT 24218.
      Thanks to Bram.

    + Added increased compatibility with third party
      Excel reading applications such as POI.

    + Added optional compatibility_mode() to fix problems
      that can occur with Office SP3.

    + Fixed compatibility problem with Google Docs.

    + Added set_start_page() method for setting the start page
      number when printing.


2.20 2007-06-10


    + Added autofilter() and filter_column() method and
      autofilter.pl example.

    + Added embed_chart() method to allow extracted chart
      templates to be embedded in a worksheet.
      Added demo4.pl and demo5.pl examples.

    + Added the insert_image() method and proper Excel 97
      style image handling for PNG and BMP.
      Images now work with Gnumeric and OpenOffice.
      insert_bitmap() is now deprecated.

    ! Made pane split optional when calling freeze_panes().
      Also renamed thaw_panes() as split_panes(). The old
      method name is still available, but deprecated.

    ! Renamed write_unicode() and write_unicode_le() methods
      to the more explicit write_utf16be_string() and
      write_utf16le_string(). The old method names are
      still available, but deprecated.


2.19 2007-14-06

    + Beta testing only. Not released to CPAN.


2.18 2007-18-01

    ! Correct invalid user set_column() calls to prevent
      crashes after Excel patch KB918419 is applied.
      Thanks to Sharron McKenzie for debugging.

    ! Fixed bug when writing comments longer than 8219 bytes.
      Reported by jscaglione.

    ! Fixed bug when using copy() with merged formats.
      Reported by jscaglione.

    ! Fixed bug where $@ was clobbered during garbage collection.
      Reported by afoxson.
      http://rt.cpan.org/Public/Bug/Display.html?id=24218

    ! Removed all non-ascii characters from main docs to
      avoid problems with troff and man.
      Reported by Ken Williams.
      http://rt.cpan.org/Public/Bug/Display.html?id=20948

    + Added autoloading of OLE::Storage_Lite, when available,
      to create workbooks larger than 7MB. It is no longer
      required to explicitly use ::Big.

    + Added handling of Unicode sheet names in formulas
      as suggested by Zhur:
      http://rt.cpan.org/Public/Bug/Display.html?id=20059



2.17 2006-21-05

    + Added set_tab_color() method and example (tab_colors.pl).

    + Add set_page_view() method for Mac Excel view style
      and better default worksheet dimensions.

    + Added simulated row_wrap.pl example.

    + Added simulated Autofit example (autofit.pl).

    ! Fixed RT #17801, incorrect close value with filehandles.
      Thanks to Josie.

    ! Changed comment font to Excel's default of Tahoma 8.
      Reported by Stefano Maurri.

    ! Fixed bug that stopped Charts working in 2.16.


2.16 2006-06-01

    + Rewrote and reinstated the write_comment() method to take
      account of the changes in the Excel 97+ comment format.
      Currently conflicts with insert_bitmap(), see docs.

    + Added standard styles such as comma, percent and currency.

    ! Changed write_url() methods to allow numbers or formulas
      as well as strings as the optional text.
      Requested by many.

    + Documented use of encoding flag in add_worksheet() to allow
      handling of UTF-16 sheet names.

    + Added encoding flag to merge_range() method to allow
      handling of UTF-16 strings. Requested by many.
      Added merge6.pl example program.

    + Added hide_zero() worksheet method to allow hiding of zero
      values in cells.

    + Added print_across() worksheet method to allow changing of
      the default print direction.

    + Added right_to_left() worksheet method to allow changing of
      the default worksheet direction in eastern versions of Excel.

    + Documented the Worksheet hide() method.

    + Added comments1.pl and comments2.pl example programs.

    + Added tests for the internal methods used by write_comment().



2.15 2005-18-09

    ! Changed OLE container stream name from "Book" to "Workbook"
      for compatibility with some third party apps.
      Thanks Wieland Pusch and Kevin McMahon.

    ! Fixed bug that caused all worksheets to be selected in
      OpenOfficeOrg causing strange linking of data between
      Worksheets. Thanks  M. Brodbelt. See
      http://rt.cpan.org/NoAuth/Bug.html?id=14094
      http://www.openoffice.org/issues/show_bug.cgi?id=52955

    ! Changed file creation from end of program to the start of
      program in order to avoid race conditions and extra file
      creation on VMS.

    + Added optional user supplied results for formulas as a
      workaround for uncalculated values in some non-Excel apps.
      Added formula_result.pl example of above.


2.14 2005-09-05

    ! Fixed handling of Unicode font names.


2.13 2005-20-04

    ! Made it a fatal error to use a merged format in a non-
      merged cell (and vice-versa). This is a temporary measure
      to prevent people from shooting themselves in the foot
      until the Format.pm code can be refactored.

    + Add 01_merge_formats.t test for above.

    + Added date_time tests.


2.12 2005-22-03

    + Added further Unicode support. The following methods now
      handle uft8 in perl 5.8:
      add_worksheet()
      set_header()
      set_footer()
      set_font()
      set_num_format()

    + Added unicode_cyrillic.pl example.

    + Added 01_add_worksheet.t test.


2.11 2004-30-09

    - Removed undocumented date_time handling from write() to
      avoid potential false matches.

    + Added add_write_handler() method to allow users to add
      their own data handlers to write().

    + Added 4 write_handler examples.


2.10 2004-23-09

    + Added chart support via external templates.
      Added Chart.pm and add_chart_ext() method to Workbook object.
      Added /charts directory with examples and documentation

    + Added write_date_time() worksheet method for writing dates
      and times in Excel date format.
      Added date_time.pl example.

    + Added automatic Unicode handling via utf8 in perl 5.8 and
      later. Thanks Mark Fowler.
      Added several unicode_*.pl examples in different encodings.
      Thanks to Sean Burke for the sample encodings.

    + Added write_to_scalar.pl example in order to answer frequently
      asked question about writing an Excel file to a scalar.


2.04 2004-18-08

    ! Fixed handling of Euro symbol in num_format() strings.

    ! Renamed the Excel 5 style merge() format to the more correct
      center_across(). Updated examples accordingly.

    ! Added bug warning about using merge formats outside of
      merged ranges.

    + Fixed handling of doubled double quotes in formula strings.
      Thanks to a tip from merlyn.

    + The 2.xx versions are now compatible with MS Access. Removed
      statements to the contrary.


2.03 2004-04-07

    ! Fixed bug that prevented column outlines from displaying.
      Thanks to Marc Rosenthal.

    ! Enhanced add_worksheet() name checking to exclude case-
      insensitive duplicate names.
      Thanks to James Wilkinson.

    ! Internal fix to number of rows in several (unseen) places.

    + Added mod_perl 2 example program from Matisse Enzer. Thanks.


2.02 2004-28-05

    + Fixed internal version numbers to keep CPAN.pm happy.
      Thanks to David Dyck.

    + Minor changes to demo.pl merge5.pl and the html docs.


2.01 2004-27-05

    This version is a MAJOR revision to Spreadsheet::WriteExcel. The
    format of the Excel file that it produces has been updated from
    Excel 5 to Excel 97. This allows support for long, 32k character
    strings and Unicode.

    DUE TO THE MAJOR INTERNAL CHANGES IT IS RECOMMENDED THAT YOU TEST
    THIS UPGRADE FULLY BEFORE DEPLOYING IT.

    Also note that this version can be 1.5 to 2 times slower than
    previous versions and the write_comment() method has been
    temporarily removed. These issues will be fixed in later releases.


    + Changed the default Excel format to Excel 97.

    + Added support for strings up to 32767 character.

    + Added support for Unicode strings.

    + Improved speed in relation to pre-release versions.
      However, it is still slower than the 1.xx versions.

    + Improved OpenOffice.org support.

    + Added more examples: diag_border.pl, indent.pl,
      unicode.pl, unicode_japan.pl, unicode_list.pl

    + Changed the distro dir structure.

    - Temporarily removed write_comment() support since the Excel 5
      version isn't compatible with Excel 97+.


1.01 2004-24-05

    ! Small non-bug fix to write_comment().


0.43 2004-28-04

    ! Fixed longstanding bug where page setup features didn't
      show up in OpenOffice.org.

    ! Fixed localised @_ bug when using threaded perls.
      Thanks Tamas Gulacsi and Stephan Loescher.


0.42 2003-26-08

    ! Fixed bug when using IO::Sclalar object as a filehandle.
      Thanks to Kyle R. Burton and David Robins.

    ! Fixed minor formula parser bug.
      Thanks Michael Braig

    ! Fixed handling of column sizing for widths less than 1
      unit (again). Thanks to Rubio (again).

    ! Failed new() returns undef instead of croak()ing as per docs.


0.41 2003-24-04

    + Added facility for adding outlines to worksheets. Added
      outline.pl example. Thanks to Franco Venturi.

    + Moved write_comment() code into the core modules. It is now
      possible to write cell comments.

    + Added option to return a slice from the sheets() method.

    + Added link to latest Excel97 pre-release.
      http://freshmeat.net/projects/writeexcel/#comment-24916

    ! Changed, once more, the handling of temp files to avoid several
      file closing bugs. Thanks to many.

    ! Fixed handling of column sizing for widths less than 1 unit.
      Thanks Rubio.

    ! Renamed addworksheet() and addformat() to add_worksheet()
      and add_format() for consistency with other method names.
      Older names are supported but deprecated.


0.40 2002-21-12

    ! Fixed internal sheet indexing in formulas on some platforms.
      This caused multi-sheet workbooks with formulas to crash.
      Thanks Troy Daniels.

    ! Fixed non-lexical filehandles to prevent problems in
      multi-threaded environments.
      Thanks Ning Xie.


0.39 2002-23-09

    + Added the set_codepage() workbook method. This is mainly to
      prevent a bug that caused Gnumeric to crash but it is also
      useful for people working with non ascii chars on the Macintosh.
      Thanks Jody Goldberg.

    ! Fixed the non-deletion of temporary files. Users of version
      0.38 should probably clean up their tmp dirs manually.
      Thanks Pierre Laplante.

    ! Changed default handling of set_fg_color and set_bg_color from
      what Excel expected to what everyone else expected. Setting the
      fill colour of a cell should now be more intuitive.

    + Replaced the merge_cells() method with the merge_range() method.
      This is mainly to prevent the Excel 97 crashing bug that occurs
      when merge_cells() is used correctly. It also provide a simpler
      interface to the merge feature. Updated merge example programs.

    ! Refactored the error raising mechanism for formulas. The source
      of errors should now be clearer.

    ! Minor internal fixes to Format.pm.


0.38 2002-29-08

    + Added formula caching to speed up the writing of formulas.
      Thanks to Ron McKelvey.

    + Added handling of A:A column notation in formulas and
      applicable worksheet methods.

    + Changed handling of numbers with leading zeroes so that they
      can be treated as strings and the zeroes maintained.

    + Modified $workbook->close() to return the value of the system
      file close.

    + Made file size exceeded a die() error instead of a warning.

    + Added option to hide row with the set_row() method

    + Added more examples: merge4.pl, merge5.pl, sendmail.pl and
      repeat.pl

    ! Fixed write_url() when handling relative links in the current
      directory. Thanks Bob Mackay Andre de Bruin

    ! Fixed handling of multiple AND()'s and OR()'s in formulas.

    ! Fixed bug when creating a very large number of files within a
      single program on Windows.

    ! Added warning about Excel97 crashing bug with merge_cells().

    ! Fixed handling of parentheses in Worksheet names.
      Thanks Jann Linder.

    ! Fixed minor bugs in Format.pm. Thanks Johann Hanne.

    ! Fixed File::Temp dependency in Makefile. Thanks to many.


0.37 2002-29-04

    + Added set_tempdir() method to allow a user defined temp
      directory. This is mainly of use to IIS users.

    + Fixed default format behaviour for formats set via the set_row()
      and set_column() methods.

    + Extended the hide_gridlines() method to allow hiding of screen
      gridlines as well as print gridlines.

    + Added long_string.pl a workaround example for the 255 char
      limit.

    + Added https match to url regex. Thanks The Tilghman.


0.36 2002-09-04

    + Added user definable colour palette. Thanks Bill Young.

    + Added headers.pl and colors.pl examples.


0.35 2002-18-03

    + Added internal and external hyperlinks. Thanks Ian Penman.

    + Added worksheet set_zoom() and set_print_scale().

    ! Changed default value of fit_to_pages() to allow printed output
      to be one page wide and as long as required.
      Thanks Michael Erickson.

    ! Changed handling of undefs in write() method. Thanks Hanc Pavel.

    ! Changed new() to return undef for file creation errors
      Thanks Felipe PĂ©rez Galiana.

    ! Added check for header/footer length. Thanks Peter Dintelmann.

    ! Added check for duplicate worksheet names. Thanks Keith Miller.

    - Removed spurious return() to fix bug in set_repeat_rows().
      Thanks Brian White.

    ! Added "use integer" when using shift << to avoid bug with
      Perl 5.6.0 on HP-UX. Thanks Markus Schmitz, VSarkiss.

    ! Fixed minor bug in Formula.pm. Thanks Sven Passig.


0.34 2001-23-10

    + Added Spreadsheet::WriteExcel::Utility module with helper
      functions for row/col and dates.

    + Added write_row and write_col methods after many requests.

    + Added ability to insert bitmap images.

    + Added cell protection and formula hiding.

    + Added more examples.


0.33 2001-30-07

    + Added (hopefully) easier mechanism to add format properties.

    + Added more page setup options: repeat rows and columns, hide
      gridlines, print area, fit to pages and page breaks.

    ! Added fix to protect print() from -l on the command line.
      Thanks Cedric Bouvier and Kyle Krom.

    + Added more examples.


0.32 2001-17-05

    + Added panes option.

    + Added page setup options: paper type, orientation, headers
      footers, centering.

    + Added panes example.


0.31 2001-12-04

    ! Fixed several minor and major bugs in Formula.pm.
      Thanks Shane Ashby and Borgar Olsen and Christian Kirsch.

    + Added external worksheet references to formulas.

    + Added A1 notation.

    + Added facility to new() to accept valid filehandles.
      Thanks Peter Dintelmann.

    + Added more examples. Thanks Tom O'Sullivan.

    ! Updated bigfile.pl example. Thanks to Takanori Kawai.


0.30 2001-26-02

    + Added formulas.

    ! Fixed docs for write_url(). Thanks James Holmes.

    ! Fixed bug when using a numeric format string of zeros.
      Thanks Kenneth Stacey.


0.26 2001-01-02

    ! Fixed bug when using a border with the default colour. This
      caused the cell format to become unchangeable from within Excel.
      Thanks Shenyu Zheng.

    ! Changed worksheet code to automatically fall back to storing
      data in memory if opening a tmp file fails.


0.25 2001-19-01

    ! Changed distro file format back to Unix line endings. The
      accidental DOS format was causing install problems.


0.24 2001-14-01

    + Added write_url method.

    + Added set_merge() alias for set_align('merge') method.

    + Added warnings about deprecated code when running under -w flag.

    ! Documentation changes.


0.23 2000-10-12

    + Added customisable numeric formats.

    + Added set_row() method.

    + Added set_1904() method.

    + Added extra examples including contributions. Thanks to all.

    + Moved secondary modules to WriteExcel namespace to clean-up
      Spreadsheet namespace which is now shared with ParseExcel.

    ! Fixed class data bug. Thanks Cedric Bouvier.

    ! Fixed Excel crashing!! bug in STYLE. Thanks Rich Sorden.

    ! Tidied up internal storage of FONTs and XFs.

    + Renamed set_col_width() method to set_column().

    + Renamed set_format() method to set_num_format().


0.22 2000-22-10

    + Added Format.pm and the facility for cell formatting.


0.21 2000-01-10

    + Replaced direct access to worksheets array with a workbook
      method; worksheets().

    + Added set_selection() and set_col_width() worksheet methods.

    ! Replaced the missing thats, including the that that were
      in the icebox.

    + Added MS Access bug warning; thanks Harold Bamford.


0.20 2000-27-08

    + Added multiple worksheets and OLE wrapper. Now compatible with
      Star Office, Gnumeric and XESS.


0.11 2000-25-08

    ! Changes to documentation. Explanation of how to use WriteExcel
      in CGI's. Thanks Daniel Gardner.


0.10 2000-13-05

    ! Bug in close() and DESTROY sequence fixed. Thanks John Wren.

    ! Biff version number fixed. Thanks Aurthur@ais, and then unfixed.

    ! Shakey test and distro fixed. Thanks to many.


0.09 2000-01-02

    ! Code for writing DIMENSIONS updated to account for bug when
      reading files with QuickView.

    + Renamed xl_write methods to write.


0.08 2000-16-01

    First CPAN release. Spreadsheet::WriteExcel - Write text and
    numbers to minimal Excel binary file.