In short: RowSlice's CSV to Excel converter writes an .xlsx workbook directly from the text of your CSV, in your browser, without opening it in Excel and without the file being uploaded. Nothing ever asks Excel to interpret a value, so the values that normally change on the way in do not: 00742 stays 00742, a 19-digit account number keeps all 19 digits, and SEP-1 stays a part code instead of becoming the first of September. Every cell is written as text by default; auto mode turns the values that can survive it into real numbers and leaves the rest alone. Rows past Excel's limit of 1,048,576 continue on further sheets, and the two things that cannot fit at all — columns past 16,384 and cell text past 32,767 characters — are counted on the results screen rather than disappearing quietly.
How to Convert a CSV to Excel Without Losing Data
- Choose or drag in the CSV file. It is read from your own disk rather than uploaded, so even a large file is ready in a second, and the first rows appear as a preview with the delimiter and encoding that were detected.
- Look at the preview. If accented letters are already wrong there, they are wrong in the CSV itself and the workbook will carry the same damage, so convert the file to UTF-8 first.
- Leave Numbers on text unless you need to calculate on the result. Text is the setting that keeps every value exactly as the file has it.
- Press Convert to Excel and download
yourfile.xlsx. Double-click it and it opens; there is no import dialog to walk through, because the type of every cell was already decided.
What Excel Changes When You Open a CSV and Save It
A CSV is plain text and carries no column types, so when Excel opens one it decides what every value means, cell by cell, without asking. Microsoft names four of those conversions and publishes them as switches you can turn off. Save the result as .xlsx and each one is written permanently into the workbook.
| In the CSV | Opened in Excel and saved | RowSlice, text mode | RowSlice, auto mode |
|---|---|---|---|
00742 — a ZIP code | 742 | 00742, as text | 00742, as text |
4532118899001234 — a 16-digit reference | 4.53212E+15, stored as 4532118899001230 | All 16 digits, as text | All 16 digits, as text |
SEP-1 — a part code | 1-Sep, a date | SEP-1, as text | SEP-1, as text |
123E5 — a batch number | 1.23E+07 | 123E5, as text | 123E5, as text |
0.50 — a price | 0.5 | 0.50, as text | 0.50, as text |
1250 — a quantity | 1250 | 1250, as text | 1250, as a number |
Two of those changes cannot be undone afterwards. Once a 16-digit number has been cut to 15 significant digits the missing digit is gone, and setting the cell format to Text later gives you 4532118899001230, not the number you started with; formatting changes how a value looks, it cannot bring back one Excel has already replaced. The two we hear about most have guides of their own: stop Excel removing leading zeros and stop Excel turning long numbers into scientific notation.
This tool sits before all of that. It reads the CSV as text and writes the workbook itself, so there is no moment at which Excel gets to guess. What you see in the cell is what was in the file.
Text Mode or Auto Mode: Which to Choose
Text is the default and the reason the tool exists. Every cell is written as a string, so Excel reinterprets nothing at all: leading zeros, long digit strings, codes that look like dates, values with spaces at either end, all arrive as the characters your file holds.
Auto is for the file you actually need to do arithmetic on. It writes a value as a real number only when writing it as a number and reading it back would give exactly the same text — so 1250 and -3.75 become numbers, while 00742 (which would come back as 742) and a 19-digit account number (which would come back rounded to 15 significant digits) stay text. That is not a limitation of auto mode, it is its point: those two conversions are the data loss this tool exists to prevent, so neither mode will perform them.
The test runs on each value on its own, not on the column it sits in, so an order export can come out with numeric quantities and prices next to a customer reference that is still text. Dates stay text in both modes, because a CSV does not record whether 03/04/2026 is April or March. If the file is heading for an API or a script rather than a spreadsheet, the same values can be written out as JSON instead, where auto mode applies the same value-by-value test.
Files with More Than 1,048,576 Rows
A worksheet holds 1,048,576 rows, and a CSV with more than that cannot become one sheet in any program. Rather than stopping, the converter continues onto a second sheet in the same workbook, and a third, and so on. When the first row of your file is a header it is repeated at the top of each sheet, which leaves 1,048,575 rows of data on each: a file of 3,000,000 data rows comes out as three sheets.
It is worth saying plainly that a file that size is usually the wrong thing to put in a spreadsheet. Excel will open the workbook, but slowly, and scrolling three sheets is not how anyone finds an answer. If you want to know what is in the file — how many rows, which columns, what range the values cover — the CSV analyzer reports it without writing anything, and the viewer shows the rows themselves, 100 at a time, without converting anything at all. If you want to work on part of it, the CSV splitter cuts the file into parts that fit a sheet, with the header repeated at the top of every part, and you convert the part you need.
What the Workbook Holds, and Where Excel's Limits Cut In
What comes out is one workbook holding your values. The only formatting it adds is to the header row: when the first row of your file is a header, it is written in bold and the top row of every sheet is frozen, so the column names stay in view as you scroll. Untick First row is a header and even that is gone. Beyond it there are no formulas, no colours or borders, no column widths, no charts and no pivot tables — a CSV contains none of those, so there is nothing to carry across and nothing invented. It takes one CSV file at a time and writes one .xlsx; it does not read Excel files, and it does not write the older binary .xls. When the data arrived as JSON rather than as a CSV, turn it into a CSV first and convert that.
Three hard limits belong to Excel rather than to this converter — all three are in Microsoft's published Excel specifications and limits — and each is reported instead of passed over:
| Excel's limit | Value | What happens at it |
|---|---|---|
| Rows on one worksheet | 1,048,576 | The rest continue on another sheet, with the header repeated at the top |
| Columns on one worksheet | 16,384 | Columns past the limit are left out, and how many were left out is on the results screen |
| Characters in one cell | 32,767 | The value is cut at that length, and how many cells were cut is on the results screen |
Anything that arrives wrong in the CSV leaves wrong in the workbook. If the file is in the wrong encoding, the mangled characters are copied faithfully; if a row has more values than the header has names, that is what the sheet shows. Checking the CSV first finds both, and the UTF-8 converter fixes the encoding and the delimiter before you convert.
Why the Numbers Come Out as Text
This is the tradeoff, and it is a real one. A cell kept as text will not be added up: SUM skips it, an average over the column ignores it, and Excel puts a green triangle in the corner with the note Number stored as text. That warning is the tool working as intended — the cell is text because keeping it as text is the only way to be certain the value survived — but it is still a column you cannot total.
Auto mode exists for exactly that. Convert the file again with Numbers set to auto and the values that can be numbers safely become numbers, while the ones that cannot stay as they are. You are not choosing between a workbook that is correct and a workbook that calculates; you are choosing how much of it does both.
Converting a text column to numbers inside Excel afterwards is the other route, and it is worth knowing what it costs: the conversion that makes 1250 add up is the same conversion that makes 00742 into 742. Do it only to the columns you will calculate on.
If You Would Rather Import It in Excel Yourself
Excel can do this safely on its own, through Data › From Text/CSV rather than by double-clicking the file: turning automatic data type detection off there makes every column Text, which is the same result as text mode here. Our guide to importing a CSV into Excel by hand walks through that route step by step, and through the same job in Google Sheets and LibreOffice Calc. It is the one to follow when you want to choose the type of each column by hand, or want real dates in the workbook.
Use this tool when you want the safe result without the dialog, when the same export has to be converted every week, or when the CSV is larger than what you want to put in front of Excel at all.
Last updated .