I create an xlsx file using the FlexCel API with TExcelFileFormat.v2016 and put numbers in it. If then a user in Excel hits the "currency" button (within the "number" panel), the number is decoreted with "$U".
Since we rarely use Uruguayan pesos here in Germany, I'd like to have something neutral there which would be replaced by Excel by Euro or Dollar or whatever the Excel user has set up.
The problem does not occur with TExcelFileFormat.v2003.
Can you check you have updated to FlexCel 6.8? What happens:
When you call xls.NewFile() internally FlexCel opens an empty embedded xls file saved with the corresponding Excel (the files are in the resource EmptyFiles.zip)
When we added the Excel 2016 option in 6.7.1 the empty xls file we added was saved in a machine with Uruguayan locale that we use for testing: this was a bug.
We fixed it in 6.8 when we updated the empty file to be a "january update" empty file (the Excel 2016 january update changed the build id among other stuff). FlexCel 6.8 should be back to an USA locale.
Note that of course we can't save a file in every locale, and sadly the empty files Excel generates for every locale are different. If you want an specific locale for NewFile, you could either replace the files in EmptyFiles.zip and recompile FlexCel, or simpler, don't use NewFile: Just open an embedded empty xls file saved with your locale (which is exactly what NewFile does) and work with that.