CSV to Excel, without wrecking the codes
Double-clicking a CSV is the quickest way to wreck a table: 00185 becomes 185, long numbers turn into 1.23E+15 and sometimes the whole row lands in one column. Here you decide, column by column, what stays text and what is a real number, and you download an .xlsx that is already right.
Why Excel wrecks CSV files, and why it is not your fault
A CSV is only text: it does not say whether «00185» is a number or a postcode, and it does not even say what the columns are separated by. Excel has to guess, and it guesses from the computer's settings: in some countries it expects semicolons, and with an English-made file it dumps the whole row into a single column. Then it strips leading zeros, shortens numbers past 15 digits and turns into dates things that are not dates. The trouble is not the file: it is the moment it gets opened.
How the columns are decided
By looking at the content, not the name. A column stays text if it has leading zeros, if the numbers are very long (past 15 digits Excel loses the last ones, and that is a limit of the format, not an opinion), if they look like IBANs, tax codes, dates or phone numbers. It stays a number when they are real numbers, so the sums keep working. The column name («ZIP», «Code», «Plate») only tips the choice when the content agrees. And next to every column the reason is written down, because you know what it holds and I only see digits: one tap changes it.
The separator and the accented letters
I do not ask you for the separator: I count it. Semicolon, comma, tab and vertical bar are all tried, outside the quotes, and the winner is the one giving the same number of columns in every row. Quotes are respected, so a cell holding a semicolon or a line break breaks nothing. If the file is not UTF-8 I read it as Windows-1252, which is what old exports use, and I tell you.
What comes out, and what you can do with it
A real .xlsx, not a renamed CSV: it opens on a double click in Excel, in LibreOffice and in Google Sheets, with the first row frozen and the columns already wide enough. Numbers are numbers (you can sum them), everything else is text and stays exactly as it was. If you need the opposite direction there is Excel (XLSX) to CSV; if the CSV is messy and needs fixing first, there is Clean up a CSV; and to join two lists on a shared column, Merge two CSV files.
What it does not do
It does not turn dates into Excel dates: it leaves them as you wrote them, because converting means choosing between day/month and month/day, and getting that wrong is the quietest way to wreck an archive. It calculates nothing and adds no formulas. It makes no multiple sheets: one table, one sheet. And it does not touch your file: what you download is a fresh copy, the original CSV stays where it is.