Open gavin-blakeman opened 7 months ago
Update: A work around is to ensure that the global locale is setup with a facet that does not implement thousands separators.
I used this link on stack overflow to create a solution. https://stackoverflow.com/questions/10685229/use-local-decimal-separator-but-not-grouping-character-with-stringstream
class no_separator : public std::numpunct_byname
std::locale loc(std::locale(""), new no_separator); std::locale::global(loc);
When a worksheet with a large number of string is created, once the string index (number) rolls over to 1000, a 'c' is inserted to the number when it is written to the XML file.
Excel opens with an error and truncates data. LibreOffice uses the wrong string (Uses 1 and ignores the rest of the value)
Without looking at the code, I suspect this is due to the stream being imbued with a locale that then adds the thousands separator to the number when the number is converted to text.