Revision history for Perl module Spreadsheet::WriteExcel. 2.25 September 9 - 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 - 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 uncalcuated 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.