CSV looks simple because it is plain text, but it leaves important interpretation decisions to the application opening it. We checked small CSV and TSV fixtures using the official GridCraft v0.19.1 CLI on macOS. The results below separate the bytes in the source from the values GridCraft displayed. This distinction explains why a file can open successfully and still change an identifier or a date.
Start with readable characters and correctly quoted fields
Our UTF-8 fixture contained a byte-order mark, Café, and 上海. Both names survived the import check. A separate Windows-1252 fixture containing Café also opened correctly. That is evidence for these fixtures, not a promise that every legacy encoding will be recognized. If names become replacement characters or mojibake, return to the source file and export a fresh UTF-8 copy before editing the corrupted values.
We also checked a quoted field containing North, Inc. and a note containing an embedded double quote. The quoted comma stayed inside one field, and the quote was escaped correctly in the CSV output. When preparing a file by hand, quote fields that contain delimiters or line breaks, and double an embedded quotation mark. Changing the delimiter alone cannot repair malformed quoting.
Comma, semicolon, and tab examples
A two-column semicolon-separated .csv file opened as two fields in our check. A .tsv file separated by tabs also opened as two fields. The sample values 12.50 and 8 became numeric values. These cases are useful for exports from different regional settings, but the test did not cover decimal commas mixed with semicolon separators or every text-export dialect.
Inspect the first few records immediately after opening. If an entire row appears in one cell, the import has not produced the table you expected. If a company name has become two columns, inspect quoting around its comma. Confirm the header count and the record count before writing formulas against the imported range; a plausible-looking total can hide a shifted column.
| Fixture | Observed result in v0.19.1 |
|---|---|
| UTF-8 with BOM, accented and Chinese names | Names preserved |
| Semicolon-delimited .csv | Two columns detected |
| Tab-delimited .tsv | Two columns detected |
| Quoted comma and doubled quote | Fields preserved |
| Windows-1252 Café sample | Name preserved |
Leading zeros and dates need an explicit decision
The default import converted code 0012 to numeric 12 and code 0007 to 7. That is reasonable for quantities and wrong for identifiers whose width is meaningful. The amount 12.50 displayed as 12.5. A different display does not necessarily mean a different numeric value, but missing zeros in a customer code can change its meaning completely.
The ISO date 2026-11-12 remained recognizable as a date in the displayed output. The ambiguous 03/04/2026 produced a warning saying it was read month first. Do not infer the intended date from its appearance alone: March 4 and April 3 are both valid dates. Prefer an unambiguous source format, and check known examples before accepting a whole column.
The file.open command supports csvAsText: true. In that test, 0012, 0007, 12.50, and both date strings stayed exactly as text. That mode is a useful preservation option for automation, although it also means arithmetic and date operations need deliberate conversion later. It is not evidence that every graphical import screen exposes the same switch.
{"command":"file.open","params":{"path":"/absolute/path/utf8.csv","csvAsText":true}}Check the exported file, not only the open sheet
CSV is a single-sheet text exchange format. It is not a replacement for an XLSX master containing multiple sheets, charts, styles, or pivot definitions. Save a workbook copy first, then export the intended sheet and reopen the resulting text file. Verify the same names, identifiers, date examples, and totals in the receiving tool.
The v0.19.1 command catalog distinguishes displayed-value CSV export from raw-value export with values: true. Pick the representation the next tool expects, then verify it rather than assuming formatting is portable. A numeric amount and its currency-formatted display serve different purposes. Our fixture checks used CLI CSV output; they do not establish every formatted export option.
One additional trap appeared while preparing the large-sheet test: a CSV field beginning with =C2*D2 imported as text, rather than becoming a working formula. We explicitly entered a formula and filled it down in GridCraft before testing recalculation. If imported formulas appear inert, check whether the cells contain text before changing calculation settings.
Sources and version notes
Feature details refer to the linked version. Follow the upstream release notes when using a different build.
