Drastic change I made: instead of providing .csv to my users I provide .xlsx :)
Since I was programmatically generating the CSV file and since only humans manipulate those files, there is no reason to keep using the simple format .csv (more appropriate to be parsed). Note .xlsx
files are widely supported (it's not only in Excel).
I did not have to change all the logic, I just took my previous CSV generation script, and added an Excel library to convert the CSV to XLSX in a few lines. You should be able to do so no matter the language :)
Ideally I would have preferred to go without Microsoft stuff, but sometimes you just sit on the "standard".