vpaesa / cxlsx_to_csv

Convert XLSX (Excel 2007) files to CSV
GNU General Public License v2.0
7 stars 5 forks source link

Bug: Failed test case 12_multistyles_01.xlsx #4

Open vpaesa opened 8 years ago

vpaesa commented 8 years ago

I need to deal with cells that have more that one formating style

../cxlsx_to_csv -if 12_multistyles_01.xlsx
RedBlueLargeSmall
Segmentation fault (`core' generado)
vpaesa commented 8 years ago

The styles make the data sink one level into the XML tree, and be spread along multiple tags:

unzip -p 12_multistyles_01.xlsx xl/sharedStrings.xml|tidy -xml -indent
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<sst count="2" uniqueCount="2">
  <si>
    <r>
      <t>Red</t>
    </r>
    <r>
      <t>Blue</t>
    </r>
    <r>
      <t>Large</t>
    </r>
    <r>
      <t>Small</t>
    </r>
  </si>
  <si>
    <t>RedBlueLargeSmall</t>
  </si>
</sst>

(Style info inside tags <rPr></rPr> removed from XML for brevity)

vpaesa commented 8 years ago

e801514 fixes 12_multistyles_01.xlsx test case on Linux 64, but not on Cygwin 64

$ uname -a
CYGWIN_NT-6.1 AcerX3995 2.3.1(0.291/5/3) 2015-11-14 12:44 x86_64 Cygwin

$ cat -A expected_12_multistyles_01.csv
RedBlueLargeSmall^M$
RedBlueLargeSmall^M$

$ cat -A validating_12_multistyles_01.csv
"RedBlueLarge^ASmall"^M$
RedBlueLargeSmall^M$

$ uname -a
Linux nuci3 4.2.0-22-generic #27-Ubuntu SMP Thu Dec 17 22:57:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ cat -A expected_12_multistyles_01.tab
RedBlueLargeSmall$
RedBlueLargeSmall$

$ cat -A validating_12_multistyles_01.csv
RedBlueLargeSmall^M$
RedBlueLargeSmall^M$
vpaesa commented 8 years ago

e801514 does not fix either 12_multistyles_01.xlsx test case on Cygwin 32

$ uname -a
CYGWIN_NT-6.3-WOW dm1e2 2.3.1(0.291/5/3) 2015-11-14 12:42 i686 Cygwin

$ cat -A expected_12_multistyles_01.csv
RedBlueLargeSmall^M$
RedBlueLargeSmall^M$

$ cat -A validating_12_multistyles_01.csv
"RedBlueM-hLarge^FSmall^[^["^M$
RedBlueLargeSmall^M$