Revision history for Perl module Spreadsheet::WriteExcel.
2.39 June 6 2013
! Added Debian patch for Pod encoding. RT #85897.
Thanks Gregor Herrmann.
2.38 November 22 2012
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 February 2 2010 - Minor
+ 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 January 21 2010 - Minor
! 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 January 10 2010 - Major
+ Added support for Stock charts.
+ Added support for Scatter charts.
+ Improved Pie chart examples.
2.34 January 8 2010 - Major
+ 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 January 3 2010 - Major
+ Added support for embedded charts. See insert_chart().
2.32 December 31 2009 - Major
+ 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 December 10 2009 - Minor
! Fixed resources in Makefile.PL.
! Updated screenshots of example programs.
2.30 November 25 2009 - Minor
! Updated Pod generator to include screenshots of example programs.
2.29 November 25 2009 - Minor
! Made version 0.19 of OLE::Storage_Lite a prerequisite to avoid
issues when using set_properties with Win 7 or Gnumeric.
2.28 November 22 2009 - Minor
! Fix to NAME section in Example.pm to get CPAN to generate pod docs
for it.
2.27 November 21 2009 - Minor
+ Added autogenerated Examples.pm.
2.26 November 13 2009 - Minor
+ 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 September 9 2008 - Minor
! Fix for set_properties() bug due to 5.10/5.8 UTF-8 differences.
! Fix for failing tests due to localtime() issues.
2.24 September 6 2008 - Minor
+ Added set_properties() method to set document properties.
Added test suite and example.
2.23 August 10 2008 - Major
+ Added Excel data validation with examples and test suite.
2.22 July 19 2008 - Minor
+ 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 March 9 2008 - Major
! 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 October 6 2007 - Major
+ 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 June 14 2007 - Major
+ Beta testing only. Not released to CPAN.
2.18 January 18 2007 - Minor
! 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 May 21 2006 - Minor
+ 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 January 6 2006 - Major
+ 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 September 18 2005 - Minor
! 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 May 9 2005 - Minor
! Fixed handling of Unicode font names.
2.13 April 20 2005 - Minor
! 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 March 22 2005 - Minor
+ 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 September 30 2004 - Minor
- 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 September 23 2004 - Major
+ 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 August 18 2004 - Minor
! 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 July 4 2004 - Minor
! 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 May 28 2004 - Minor
+ 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 May 27 2004 - Major
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 May 24 2004 - Minor
! Small non-bug fix to write_comment().
0.43 April 28 2004 - Minor
! 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 August 26 2003 - Minor
! 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 April 24 2003 - Minor
+ 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 December 21 2002 - Minor
! 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 September 23 2002 - Minor
+ 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 August 29 2002 - Minor
+ 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 April 29 2002 - Minor
+ 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 April 9 2002 - Minor
+ Added user definable colour palette. Thanks Bill Young.
+ Added headers.pl and colors.pl examples.
0.35 March 18 2002 - Minor
+ 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 October 23 2001 - Major
+ 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 July 30 2001 - Minor
+ 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 May 17 2001 - Minor
+ Added panes option.
+ Added page setup options: paper type, orientation, headers
footers, centering.
+ Added panes example.
0.31 April 12 2001 - Major
! 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 Feb 26 2001 - Major
+ 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 Feb 1 2001 - Minor
! 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 Jan 19 2001 - Minor
! Changed distro file format back to Unix line endings. The
accidental DOS format was causing install problems.
0.24 Jan 14 2001 - Minor
+ 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 Dec 10 2000 - Minor
+ 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 Oct 22 2000 - Major
+ Added Format.pm and the facility for cell formatting.
0.21 Oct 1 2000 - Minor
+ 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 Aug 27 2000 - Major
+ Added multiple worksheets and OLE wrapper. Now compatible with
Star Office, Gnumeric and XESS.
0.11 Aug 25 2000 - Minor
! Changes to documentation. Explanation of how to use WriteExcel
in CGI's. Thanks Daniel Gardner.
0.10 May 13 2000 - Minor
! 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 Feb 1 2000 - Minor
! Code for writing DIMENSIONS updated to account for bug when
reading files with QuickView.
+ Renamed xl_write methods to write.
0.08 Jan 16 2000
First CPAN release. Spreadsheet::WriteExcel - Write text and
numbers to minimal Excel binary file.