Unsolved Reading .xlsx files with QtXlsx
-
QtXlsx seems to get confused by worksheet cells that contain large integer values. I have a reasonable workaround, but would rather be able to read/write these values correctly.
I've been working on a data processing problem that benefits from many capabilities of MS Excel. However, there are significant parts of the processing are of a complexity that is not really addressable in Excel. So I go back and forth quite a lot between various tools and rely on .csv files for the interface between Excel and the other parts of the larger problem.
This has worked pretty well, but really got me only about 95% to where I want to be. So I decided to access the Excel files directly. The QtXlsx package seemed pretty well suited for my needs. I successfully installed that package and have it largely working (by the way, nice job on QtXlsx).
However, I have already noticed one anomalous behavior. In my processing, I used 12-16 digit number strings as unique identifiers - they could have included other characters, but I have always just used numbers. Excel is quite happy to deal with these as large integer values.
Unfortunately, QtXlsx is not happy to do so. Instead, returns a ZERO value in place of these large numbers when I read such a cell.
Any thoughts on how hard it would be for me to modify the code to accept these large numbers as "unsigned long long" values?
My current workaround is to add a single quote to beginning of these number strings and force Excel to treat them as text strings. This will work for the foreseeable future, but seems somehow inelegant. And there may be future need to actually have such large numeric values.
Thanks
-
QtXlsx is Qt based, but not supported by Qt. You need to the author and/or his community for specific questions.