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

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.

   ! 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).

    ! 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
      Column, Bar, Line and Area charts supported.

    ! Fixed Apache2::Const vars in 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 to get CPAN to generate pod docs
      for it.

2.27 2009-21-11

    + Added autogenerated

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.

    ! 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.

    ! Fixed collapse outlines compatibility with Gnumeric
      Reported by Barrie Slaymaker.

    + Added 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 example.

    + Added embed_chart() method to allow extracted chart
      templates to be embedded in a worksheet.
      Added and 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.

    ! Removed all non-ascii characters from main docs to
      avoid problems with troff and man.
      Reported by Ken Williams.

    + 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:

2.17 2006-21-05

    + Added set_tab_color() method and example (

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

    + Added simulated example.

    + Added simulated Autofit example (

    ! 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 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 and 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

    ! 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 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 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:

    + Added 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 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 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 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 happy.
      Thanks to David Dyck.

    + Minor changes to 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.


    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 support.

    + Added more examples:,,,,

    + 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

    ! 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 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.

    ! 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

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:,, and

    ! 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 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 a workaround example for the 255 char

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

0.36 2002-09-04

    + Added user definable colour palette. Thanks Bill Young.

    + Added and 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 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
      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 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 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.