zdavatz / spreadsheet

The Ruby Spreadsheet by ywesee GmbH
http://spreadsheet.ch
GNU General Public License v3.0
1.13k stars 240 forks source link

Rows readed in different order gives different results #190

Closed serg123e closed 7 years ago

serg123e commented 7 years ago

When I read one specific file row by row, the row 32 appears as nil but when I read row 33 and then row 32, it reads well.

As I understand it happens because the file is generated by one handcrafted program which puts wrong offset for cell(32,0) Actually this cell appears in next row block not in the first one.

I've added this file and test that fails to the test suite in this commit: https://github.com/serg123e/spreadsheet/commit/b596713629643cc5e2c02bd04055cca879c2bb6f

Could someone help me to solve this issue, please? @zdavatz?

All available to me versions of Excel itself and another great tool, xls2csv (https://www.wagner.pp.ru/~vitus/software/catdoc/) works well with this file

zdavatz commented 7 years ago

what OS are you on and what Version of Excel are you using?

serg123e commented 7 years ago

Windows 7 x64, Excel 2010 and Excel 2016

zdavatz commented 7 years ago

How was the original file created?

serg123e commented 7 years ago

It was created by one payroll program

zdavatz commented 7 years ago

What is the name of that programm? Is it Windows-Software? Was the original file also created with spreadsheet? My guess is, it was not. It sometimes happens that the "original file" contains less then normal data and if you edit the file with spreadsheet, the file gets corrupted because of some subpar formating options added by the first program that spreadsheet does not know of.

What happens if you open the file generated by the payroll software with libreoffice, save it again and then edit it with spreadsheet? Does it then work?

serg123e commented 7 years ago

Unfortunatelly, I do not know the name of that program and have no access to it. As far as I know it works on Windows. Yes, after re-saving the file with Libreoffice or Excel it becames possible to work with it using Spreadsheet without any issue and this is the way that we are working with it actually.

I agree that the root of the problem is in the payroll software, but I claims to bug in spreadsheet because other programs works well with this file

zdavatz commented 7 years ago

Yeah, well feel free to submit a patch. But for us the spreadsheet gem works fine. Sorry I can not help you further at the moment. Consider interfacing the file with libreoffice commandline options.