From 184bd929cdd7059c5387c2e753ab63731020d537 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 16 Sep 2013 23:21:24 -0400 Subject: handle the 'e' format (fixes #7) --- lib/Spreadsheet/ParseXLSX.pm | 3 +++ t/bug-7.t | 14 ++++++++++++++ t/data/bug-7.xlsx | Bin 0 -> 8639 bytes 3 files changed, 17 insertions(+) create mode 100644 t/bug-7.t create mode 100644 t/data/bug-7.xlsx diff --git a/lib/Spreadsheet/ParseXLSX.pm b/lib/Spreadsheet/ParseXLSX.pm index d79515f..a7db72b 100644 --- a/lib/Spreadsheet/ParseXLSX.pm +++ b/lib/Spreadsheet/ParseXLSX.pm @@ -164,6 +164,9 @@ sub _parse_sheet { $long_type = 'Text'; $val = $val ? "TRUE" : "FALSE"; } + elsif ($type eq 'e') { + $long_type = 'Text'; + } elsif ($type eq 'str') { $long_type = 'Text'; } diff --git a/t/bug-7.t b/t/bug-7.t new file mode 100644 index 0000000..a4b2646 --- /dev/null +++ b/t/bug-7.t @@ -0,0 +1,14 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; + +use Spreadsheet::ParseXLSX; + +my $wb = Spreadsheet::ParseXLSX->new->parse('t/data/bug-7.xlsx'); +is($wb->worksheet_count, 3); + +my $ws = $wb->worksheet(0); +is($ws->get_cell(0, 0)->value, "#N/A"); + +done_testing; diff --git a/t/data/bug-7.xlsx b/t/data/bug-7.xlsx new file mode 100644 index 0000000..c516813 Binary files /dev/null and b/t/data/bug-7.xlsx differ -- cgit v1.2.3-54-g00ecf