0.93 - 17 Mar 2025, H.Merijn Brand
*
Add ranges and cellranges
0.92 - 06 Jan 2025, H.Merijn Brand
*
Make strict_eol default to 1 for CSV when supported
*
Show detected EOL for CSV in xlscat when known
*
Add SECURITY.md
*
It's 2025
0.91 - 27 Aug 2024, H.Merijn Brand
*
Exclude OLE::Storage_Lite-0.21
*
xlscat --head[=10], --tail[=10], --first=C
*
Make (re)defining ->get_active_sheet safer
*
Tested with perl-5.40
*
xlscat --no-empty to skip empty columns too
*
Spreadsheet::ParseExcel::FmtDefault might not be available
0.90 - 13 Feb 2024, H.Merijn Brand
*
Consistent return value for parses ($type) on failure (issue#52)
*
New options for xlscat (--no-empty, --clip=N)
*
Support for hidden sheets
0.89 - 02 Jan 2024, H.Merijn Brand
*
Auto-use BOM in CSV *files* with xlscat script
*
Fix duplicate option letter (typo) (Erix)
*
It's 2024
0.88 - 07 Nov 2023, H.Merijn Brand
*
Guard $_ globbering from external bitrotted code
*
Use recommended and suggested versions based on known CVEs
*
Improve user feedback on failing xlsx2csv & xlscat
*
Fix static docs for groff-1.24
*
Basic support for Excel::ValueReader::XLSX (issue#50)
*
Allow backend for parser option without version check
0.87 - 22 Feb 2023, H.Merijn Brand
*
Change default #! to /usr/bin/perl (Tinita)
*
Improve ->sheets (safer and docs)
*
Update to Spreadsheet::ReadGnumeric 0.2 (attributes and small fixes)
0.86 - 07 Feb 2023, H.Merijn Brand
*
Add Gnumeric support (Bob Rogers, THANKS!)
-
work in progress, use with care, feedback welcome
0.85 - 04 Jan 2023, H.Merijn Brand
*
Suggest the preferred parser if none found
*
It's 2022
*
xlscat --box and improvements for -L
*
Add balloons to ss2tk buttons
*
Fix typo in help (Erix)
*
It's 2023
0.84 - 26 Feb 2021, H.Merijn Brand
*
It's 2021
*
Alias pivot to transpose (issue#36)
*
Alias strip to trim (issue#36)
*
Check for consistent return values of parses ()
0.83 - 21 Dec 2020, H.Merijn Brand
*
Require ParseODS 0.26
*
Add ::parsers to get list of supported formats
*
Add --list to xlscat and xls2csv
*
Update xls2csv to be identical to xlsx2csv
*
::parses ("") will return list of supported types
*
Move installables from examples/ to scripts/
*
Tested on FreeBSD-12.2-RELEASE with all supported backends
*
Fix META issue for bugtracker
0.82 - 26 Sep 2020, H.Merijn Brand
*
Move pod tests to xt (and do not distribute)
*
Fix some links in the docs
*
Add ".xlsm" to known XLSX file extensions
*
Spreadsheet::ReadSXC has a new maintainer (Corion)
-
support file handles
-
suggest version 0.24 (0.22 causes fails)
*
First attempt in supporting Spreadsheet::ParseODS (alpha code)
-
version 0.25 should now pass the limited tests
-
thanks to Corion for making this happen!
*
It's 2020
*
Fallback to Pod::Text if nroff not available in tools
*
Extended support for merged cells with merge option
-
Added $sheet->merged_from ("C2")
*
Add --no-nl[=x] to xlscat
*
xlscat: Align-right more numerics on -L (was only positive integers)
*
xlsx2csv -Z : generate a ZIP file with a CSV for every sheet
*
Doc fix (issue#33)
0.81 - 25 Aug 2019, H.Merijn Brand
*
It's 2019
*
Allow -c + --sep in xlscat
*
Add --sep= to xls2csv for -A
*
Add xlsx2csv to distribution (xlsx2csv has -A)
*
Add -J s / --join str to xlsx2csv
*
Add cpanfile
*
Add explicit documentation about formatted vs unformatted
*
Improve ->new behavior
*
Auto-detect fallback for CSV now includes '|' for sep_char (PR#26)
0.80 - 31 Dec 2018, H.Merijn Brand
*
Raise Spreadsheet::ParseXLSX minimum version to 0.24
*
Improve docs on attributes
*
Add attribute accessors
0.79 - 29 Aug 2018, H.Merijn Brand
*
Environmant control hardening
*
ReadData () docs (opening from scalar ref: issue#21)
*
Check for XLSX content on opening from plain scalar content
*
Fix typo in ss-dup-tk.pl (PRC, Branislav Zahradnik)
*
Allow source from command line option in xls2csv (PRC, Branislav Zahradnik)
*
Allow --in-sep=tab in xlscat/xlsgrep
*
Add --hash to xlscat/xlsgrep
*
Help and usage for examples/xls2csv (PR#23)
0.78 - 29 Jan 2018, H.Merijn Brand
*
Spreadsheet::ParseExcel supports the active flag as of version 0.61
*
Fix typo in docs (SPROUT, RT#124214)
0.77 - 22 Jan 2018, H.Merijn Brand
*
Note possible name clashes with example/tool files
*
Clipping and stripping more efficient
0.76 - 01 Jan 2018, H.Merijn Brand
*
Allow streaming in xlscat
*
Add --dump to xlscat
*
Add error for opening ODS/SXC from reference
*
It's 2018
0.75 - 09 Nov 2017, H.Merijn Brand
*
Windows does not like an exec with arguments that have spaces (PR#15)
Three fixes by Andrew Gregory <andrew.gregory.8@gmail.com>). Thanks!
*
Fix column clipping
*
Manually generate cells to delete when clipping
*
Skip cell deletion if they were never generated
*
File names cannot have \0 in newer perls
0.74 - 27 Aug 2017, H.Merijn Brand
*
Re-enable opening files with bad characters in the filename (issue#14)
0.73 - 30 Jul 2017, H.Merijn Brand
*
Spreadsheet::XLSX::Reader::LibXML support completely dropped
*
New options for ss2tk (font specs and SS labels)
*
Safer xls2csv option parsing/passing
*
Pass unknown command-line options to the parser
*
Fix ReadData ("a,b,c\n1,2,3\n", parser => "csv")
*
Drop 5.8.0 support. 5.8.1 is now minimum
0.72 - 25 May 2017, H.Merijn Brand
*
get_active_sheet is only available as of Spreadsheet::ParseExcel 0.61
*
Support password protected spreadsheets (implementation just for Excel)
*
Do not warn on undefined labels (xlscat)
0.71 - 13 May 2017, H.Merijn Brand
*
Use -w as intended
*
Add option pivot
*
No trailing spaces on xlscat -L
*
Lexicalize code snippet (issue#12)
*
Add attr method
*
Remove special chars from worksheet name component (Windows, PR#13)
*
Add refresh to ss2tk / csv2tk
*
Add shortcut for UTF-8 output to xlscat
*
Upgrade recommended modules to required for cpancover
0.70 - 02 Mar 2017, H.Merijn Brand
*
Add label functionality to ::Sheet
*
Add ->column and ->cellcolumn for ::Sheet
*
Add col2label sub/method
*
Sanitize xls2csv export filenames
*
Fix sorting in xlscat for un-aligned columns
*
It's 2017
*
Be overly verbose about maxrow and maxcol being 1-based (RT#120476)
0.69 - 02 Dec 2016, H.Merijn Brand
*
Several OO fixes, more tests, more docs
0.68 - 29 Nov 2016, H.Merijn Brand
*
List non-core modules/version used on very verbose in xlscat
*
Option to export all sheets in a spreadsheet to CSV (UTF-8 only)
*
Add OO interface
*
Feature: add new spreadsheets to existing book (even of different types)
0.67 - 17 Jun 2016, H.Merijn Brand
*
CPANTESTERS showed that some versions really messed op numeric/percentage
0.66 - 16 Jun 2016, H.Merijn Brand
*
Remove Spreadsheet::XLSX::Reader::LibXML test files from distribution
*
Allow old versions of Spreadsheet::ParseXLSX to "fail" on percentage tests
0.65 - 15 Jun 2016, H.Merijn Brand
*
Test with perl-5.24.0
*
Show parser-version used under debug
*
No more Spreadsheet::XLSX::Reader::LibXML
*
Cells will inherit hidden state from hidden rows and columns
*
Require 5.8.0 as 5.6.x does not include required Encode
0.64 - 22 Apr 2016, H.Merijn Brand
*
It's 2016
*
Allow inconsistent Spreadsheet::XLSX releases on Debian (tests)
*
Decode utf-16be entries in Excel when appropriate
*
Two examples in xlscat
0.63 - 10 Oct 2015, H.Merijn Brand
*
Guard against negative MinRow in XLSX
*
Documentation updated
*
Support Spreadsheet::XLSX::Reader::LibXML disabled on author request
*
Fix warning in utilities
*
Check minimum parser version for pre-selected parser
0.62 - 16 Aug 2015, H.Merijn Brand
*
Fix documentation structure
*
Test all supported parsers (not just the preferred one)
*
Basic support for Spreadsheet::XLSX::Reader::LibXML (work in progress)
*
Copy example file if link fails (Alan Berndt)
*
Add a contributing guide
0.61 - 13 Jun 2015, H.Merijn Brand
*
Discourage Spreadsheet::XLSX
*
A space is not an empty field in XLS
*
Strip the correct selection (RT#105197)
0.60 - 30 Mar 2015, H.Merijn Brand
*
No merged cell support in Spreadsheet::XLSX
0.59 - 26 Mar 2015, H.Merijn Brand
*
Minimal support (+ docs) for merged cells
*
Make parser errors report at one level up
*
Don't select non-existing columns in xlscat
0.58 - 11 Feb 2015, H.Merijn Brand
*
Remove perl recommendation from META as it breaks cpan clients
*
Move sort instruction to correct place in xlscat's help
0.57 - 08 Feb 2015, H.Merijn Brand
*
Moved project to github
*
Add --sort to xlscat
*
Clip before conversion
*
Removed an unneeded localizing of $/ (related to p5 RT#123218)
0.56 - 05 Jan 2015, H.Merijn Brand
*
printf does not play nice with encoding (related to RT#98436)
*
default output UTF-8 if whole line is UTF-8
0.55 - 01 Jan 2015, H.Merijn Brand
*
Mention Spreadsheet::CSV in documentation
*
Add ssdiff to examples
*
Amend xlscat -n to also number in HTML
*
Updated copyright to 2015
0.54 - 30 Jan 2014, H.Merijn Brand
*
Optional features required versions now builtin
0.53 - 29 Jan 2014, H.Merijn Brand
*
Updated copyright to 2014
*
Prefer Data::Peek over Data::Dumper
*
Support (and prefer) Spreadsheet::ParseXLSX for .xlsx
0.52 - 05 Dec 2013, H.Merijn Brand
*
Store CSV parse error - if any - in $ss->[0]{error}
0.51 - 30 Oct 2013, H.Merijn Brand
*
Link xlsgrep during install
0.50 - 24 Oct 2013, H.Merijn Brand
*
Added xlsgrep to examples
*
Allow -C B,D for xlscat
*
More prominent reference to xlscat in docs
0.49 - 11 May 2013, H.Merijn Brand
*
/dev/null cannot be used for tests on Windows
0.48 - 14 Mar 2013, H.Merijn Brand
*
Improve documentation consistency (RT#80409)
*
Updated copyright to 2013
*
Force old(er) tar format (ustar) - assumes GNU tar on release box
*
Fix yml/json optional_features
*
Install utilities from example by default
*
Several minor changes (for maint)
0.47 - 30 Jun 2012, H.Merijn Brand
*
Note that empty sheets are skipped when clip is true (RT#75277)
*
Allow undef as valid value for the options (Max Maischein)
*
Don't generate warnings when stripping whitespace and only
generating one of cells or rc. (Max Maschein)
*
Fix test warning under perl-5.17.x
0.46 - 14 Feb 2012, H.Merijn Brand
*
Updated copyright to 2012
*
Support passing attributes to the underlying parser
*
Do not strip fields in sheets with no cells at all (RT#74976)
0.45 - 07 Sep 2011, H.Merijn Brand
*
NAME / DISTNAME in Makefile.PL
0.44 - 07 Sep 2011, H.Merijn Brand
*
More cross-checks for META data
0.43 - 02 Aug 2011, H.Merijn Brand
*
Changed name in META.yml (RT#69574)
0.42 - 01 Jun 2011, H.Merijn Brand
*
Add --html output option to xlscat
*
Force CSV parser when in-sep is given
*
Prefer Data::Peek over Data::Dumper if available
0.41 - 06 Oct 2010, H.Merijn Brand
*
Spell-check
*
Fixed requiring optional modules (RT#61928 - Roderick Schupp)
0.40 - 31 Mar 2010, H.Merijn Brand
*
Default option for clip fixed (RT#56151 - Alan James)
0.39 - 16 Mar 2010, H.Merijn Brand
*
Doc fix (RT#54507, Patrick Cronin)
*
Upped Copyright notices to 2010
*
Drop YAML version to 1.0
0.38 - 15 Dec 2009, H.Merijn Brand
*
Add row () and cellrow ()
*
Updated META.yml to meet most recent specs (optional_features = map)
0.37 - 09 Nov 2009, H.Merijn Brand
*
IO streams improvements
*
MANIFEST fix
0.36 - 06 Nov 2009, H.Merijn Brand
*
Add strip option
*
Spreadsheet::XLSX 0.12 still does not support attributes
*
Require Text::CSV_XS-0.69 for CSV for auto-detection of \r
*
New attribute "parser" to force format
*
Allow CSV streams
*
Allow SC streams
*
Allow XLS streams
0.35 - 03 Jun 2009, H.Merijn Brand
*
Add Test::NoWarnings, which is not run in AUTOMATED_TESTING
*
Switched to Test::More using tests_done ()
*
Text::CSV_XS requires 0.43 or up, as we use ->eof ()
still prefer a really new release, like 0.65, which
is Test::NoWarnings safe
*
Spreadsheet::XLSX 0.10 still does not support attributes
*
Added -n to xlscat
*
XLSX tests skip on feature, not on version
0.34 - 27 Jan 2009, H.Merijn Brand
*
Spreadsheet::XLSX 0.09 still does not support attributes
still think it is better to follow closely. 0.09 is much
better than 0.08
0.33 - 23 Jan 2009, H.Merijn Brand
*
A few Perl::Critic inspired changes
*
Modified tests to prevent rounding errors (we were not checking for that)
*
Added examples/ss-dups-tk.pl
0.32 - 06 Jan 2009, H.Merijn Brand
*
Add basic support for M$ Excel 2007 using Spreadsheet::XLSX
*
Test suite reports the parsers it found
0.31 - 04 Jan 2009, H.Merijn Brand
*
Upped Copyright notices to 2009
*
Detection of percentage type
*
Even more reliable detection of Date types
0.30 - 22 Dec 2008, H.Merijn Brand
*
Wrong e-mail in META.yml
*
CSV files from a Mac, with \r as eol, would not parse
0.29 - 19 Oct 2008, H.Merijn Brand
*
Make Read safer for files that do not match extension,
like HTML in foo.xls
*
YAML declared 1.4 (META.yml) instead of 1.1 (YAML)
*
Bring Makefile.PL in sync with META.yml
*
Recommend Text-CSV-0.56
0.28 - 04 Sep 2008, H.Merijn Brand
*
More tests on date formats
*
Declare Spreadsheet::ParseExcel::FmtDefault in META.yml
*
Add 'size' from Excel font size
*
Update docs about Excel quirks and CPAN links
*
Reference to public git repo
*
Some typo's
0.27 - 31 Aug 2008, H.Merijn Brand
*
Fixed META.yml (the specs are inconsistent)
*
Added --dtfmt to xlscat
0.26 - 29 Aug 2008, H.Merijn Brand
*
Added examples/xls2csv
*
Upped copyright to 2008 in examples
*
Don't ask to install examples under automated testing
*
die => croak
*
Added tgzdist target
*
Added encoding options to examples/xlscat
*
Added date-type checks for SS:PE > 0.32
0.25 - 02 Jan 2008, H.Merijn Brand
*
Spreadsheet-Read now under git
*
Upped copyrights to 2008
*
Added all prereq's to Makefile.PL, even core mods
*
Tested under perl-5.10.0
*
Text::CSV as of 1.00 is OK
0.24 - 05 Oct 2007, H.Merijn Brand
*
-? and --help in utils moved to Getopt::Long
*
Adjusted copyright notice in utils
*
removed prototypes in utils
*
next is illegal in do {} while (); (Johan Vromans)
only happens with old Text::CSV_XS
0.23 - 21 Jun 2007, H.Merijn Brand
*
Use IO::Scalar instead of File::Temp when installed
Thanks to David Cantrell for making a OpenBSD test box available!
*
use binmode () when opening files
*
Also use 3-arg open in test files
*
die if test files cannot be opene'ed
0.22 - 18 Jun 2007, H.Merijn Brand
*
0.21 should already support Text::CSV_PP 1.05
Tested Text::CSV_PP 1.05 on bleadperl.
*
Better detection of (not) installed modules
*
Module requires perl 5.6.x
0.21 - 18 Jun 2007, H.Merijn Brand
*
Text::CSV_XS uses keep_meta_info instead of get_flags
*
Removed always_quote from xlscat's CSV output
0.20 - 31 May 2007, H.Merijn Brand
*
perlcritic OK
*
CSV parsing now uses getline (), and auto-detects eol
Assumes first line does not contain embedded eol. This implies that
parsing CSV with embedded eol sequences is now safe.
*
As I now also maintain Text::CSV_XS, I changed the references
*
Changed TODO's from Text::CSV to Text::CSV_PP (::CSV is dated 1997)
0.19 - 04 May 2007, H.Merijn Brand
*
Could not retreive '0' fields from OpenOffice (Jim Kelly)
0.18 - 27 Apr 2007, H.Merijn Brand
*
use strict in Makefile.PL
*
Added test_cover make target
*
Added "ods" for OpenOffice conversions
*
Added color tests for ods (but SR::RS doesn't support that yet)
*
Switched from \d to 0-9 in regexp
*
Added more test files and tests (increase coverage)
0.17 - 04 Jul 2006, H.Merijn Brand
*
xlscat new option: --ansii to (try to) use the ansi colors for fields
*
Fixed a color attribute off-by-one error
*
Added test cases (not yet complete)
*
Added bold and underline
0.16 - 04 Jul 2006, H.Merijn Brand
*
xlscat new option: --in-sep-char to force-define input sep-char for CSV
*
More debug lines
*
Parser name info in $ref->[0]
*
SquirrelCalc now reports Spreadsheet::Read and its version for parser info
*
Most of the attributes for Excel now implemented. Tested, but no test case
0.15 - 21 Jun 2006, H.Merijn Brand
*
Small doc change from AnnoCPAN
*
Sheets with undefined labels might cause havoc
*
Clip now skips empty xls sheets (TODO: sxc)
*
xlscat clips by default
*
xlscat new options -d and --noclip
*
xlscat usage () from -?/--help to STDOUT from fault to STDERR
0.14 - 20 Jan 2006, H.Merijn Brand
*
maxrow and maxcol were swapped in csv sheets
*
promoted internal debug flag to option
*
small doc changes
0.13 - 04 Nov 2005, H.Merijn Brand
*
Control attrib 'cells' was misinterpreted
*
New option: clip, default is true if {cell} is selected, false otherwise
Removes trailing lines and columns in each sheet that have no visible data
*
new test t/11_call.t for checking options. Not complete yet
*
Added test_cover target to Makefile.PL
0.12 - 31 Oct 2005, H.Merijn Brand
*
Added ss2tk to examples
0.11 - 26 Oct 2005, H.Merijn Brand
*
Allow ods (OpenOffice 2.0) for sxc
*
include real ods test files and new test
*
Check if sc.version is undef, not 0
0.10 - 19 Sep 2005, H.Merijn Brand
*
More test coverage
*
cr2cell () returns "" for illegal col/row values
*
cell2cr () returns (0, 0) for illegal cell values
*
rows () tests even better for valid reference pointer
*
Renamed the test files
0.09 - 18 Sep 2005, H.Merijn Brand
*
Added Test::Pod
*
Added Test::Pod::Coverage
*
Spreadsheet::ReadSXC 0.20 now required (too many tests fail on 0.12)
*
Small changes to the docs
*
More secure handling of false values
*
Mention a bug in Spreadsheet::ParseExcel
0.08 - 22 Aug 2005, H.Merijn Brand
*
Slightly changed the Synopsis
0.07 - 06 Jul 2005, H.Merijn Brand
*
Added function rows ()
*
Added function parses ()
*
Made all modules optional
*
Prepared for Spreadsheet::Perl
*
Doc updates
0.06 - 22 Jun 2005, H.Merijn Brand
*
Repaired error in label names in metadata for SXC
0.05 - 17 Jun 2005, H.Merijn Brand
*
Spreadsheet::ReadSXC >= 0.20 supports sheet order
*
Spreadsheet::ReadSXC has new data structure (we still support the old)
*
Added "version" to the meta data for parser version
*
More tests
0.04 - 14 Jun 2005, H.Merijn Brand
*
Changed TODO
*
Added options "rc", and "cell"
*
Added CSV
*
Added CSV options "sep", and "quote"
*
Support xls from content
*
Added basic support for SquirrelCalc format
*
Updated pod
*
xlscat -R option for row selection was a one-off
*
xlscat now supports selecting fields with -F
0.03 - 19 May 2005, H.Merijn Brand
*
Expanded xlscat to support -i for index
*
Optionally install xlscat
0.02 - 19 May 2005, H.Merijn Brand
*
Typoes in the doc
*
Small change in organization so it actually installs
0.01 - 12 May 2005, H.Merijn Brand
*
Initial CPAN version. A lot can still change