Bug#299870: libspreadsheet-parseexcel-perl: Choking on NULLs
Frederic Briere
Frederic Briere <fbriere@fbriere.net>, 299870@bugs.debian.org
Wed, 16 Mar 2005 20:08:16 -0500
Package: libspreadsheet-parseexcel-perl
Version: 0.2603-2
Severity: normal
[ Remember that submitters aren't CC'ed when you reply to bug reports. ]
Here's another one: <http://www.imars.com/~fbriere/nulls.xls>
It looks fine if you look at it in gnumeric/OOo, or print its contents
in an ISO-8859-1 terminal:
perl -MSpreadsheet::ParseExcel -le 'print Spreadsheet::ParseExcel->new-=
>Parse("products.xls")->{Worksheet}[0]{Cells}[0][0]->Value'=20
Manteau en cuir 3/4 boutonn=E9 =E0 l'avant, avec garnitures aux empi=E8=
cements avant et arri=E8re, et doublure isolante. Import=E9.
=C9toff
(Though you may notice the cutoff after 128 characters.)
Here's where it gets interesting:
perl -MSpreadsheet::ParseExcel -le 'print unpack "H*", Spreadsheet::Par=
seExcel->new->Parse("products.xls")->{Worksheet}[0]{Cells}[0][0]->Value'
014d0061006e007400650061007500200065006e0020006300750069007200200033002=
f003400200062006f00750074006f006e006e00e9002000e00020006c0027006100760061=
006e0074002c002000610076006500630020006700610072006e006900740075007200650=
073002000610075007800200065006d0070006900e800630065006d0065006e0074007300=
20006100760061006e00740020006500740020006100720072006900e800720065002c002=
00065007400200064006f00750062006c007500720065002000690073006f006c0061006e=
00740065002e00200049006d0070006f0072007400e9002e000a00c90074006f006600660=
0
(Or better yet, pipe it through hexdump -C for prettier results.)
This is actually the verbatim contents of the file, which I suspect has
to do with the 255-char limitation of Excel95. Or maybe not. But it's
clear that SS:PE:
a) only read the first 255 characters of that cell
b) didn't know how to decode the contents
(It also replaced the last character with 0x0a, if you look carefully.)
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.10-deb
Locale: LANG=3Den_CA, LC_CTYPE=3Den_CA (charmap=3DISO-8859-1)
Versions of packages libspreadsheet-parseexcel-perl depends on:
ii libole-storage-lite-perl 0.14-2 simple class for OLE documen=
t inte
ii perl 5.8.4-8 Larry Wall's Practical Extra=
ction=20
-- no debconf information