doy / spreadsheet-parsexlsx

parse XLSX files
http://metacpan.org/release/Spreadsheet-ParseXLSX
27 stars 35 forks source link

unimplemented type e #7

Closed rolaf closed 11 years ago

rolaf commented 11 years ago

I've been using Spreadsheet::ParseExcel quite a while now. In order to overcome the 256 columns limitation of xls spreadsheets I need to convert to xlsx and consequently came across Spreadsheet::ParseXLSX while searching for solutions. I really appreciate your work. Nevertheless I've detected a couple of issues while using this module. I'll file them as separate issues hereafter. Here is the first:

My spreadsheet contains a formula returning the value '#N/A'. Spreadsheet::ParseXLSX stops working while parsing the sheet: unimplemented type e at /home/rolaf/perl/lib/perl5/Spreadsheet/ParseXLSX.pm line 152.

I have created a testcase (which covers some of the other issues I'm going to file as well): https://dl.dropboxusercontent.com/u/80321078/ParseXLSX/ParseXLSX-NA.tgz

How Spreadsheet::ParseExcel behaves: script: test_na_xls.pl (uses spreadsheet NA.xls as input)

How Spreadsheet::ParseXLSX behaves: script: test_na_xlsx.pl (uses spreadsheet NA.xlsx as input)

In order to go ahead I took the freedom to apply a couple of modifications to ParseXSLX.pm. You can find my modified version here: https://dl.dropboxusercontent.com/u/80321078/ParseXLSX/ParseXLSX.pm.modif

doy commented 11 years ago

This doesn't follow Spreadsheet::ParseExcel exactly (the value is "#N/A" rather than "#N/A!"), but that is because Spreadsheet::ParseExcel gets this one wrong. According to the docs for the XLS file format, the value should be "#N/A".

doy commented 11 years ago

Released in 0.09.