EXPORT CHECKS

Check a CSV export before sending it

Reimport the delivered file and verify identifiers, Unicode text and totals.

In this guide

A workbook that looks correct is not yet a verified CSV delivery. Export settings can change the active sheet, encoding, separators or displayed values. Check the actual output file through a fresh import rather than inspecting only the workbook you exported from.

Start with the practice input

Download export-input.csv. Use desktop Excel, an untouched input file, a working .xlsx workbook and a separately named delivery CSV. The input has headers in A1:C1 and three records in rows 2:4; columns are record_id, customer and amount. Import record_id as Text before loading, following the identifier guide if needed.

Suggested filenames are export-working.xlsx and export-delivery.csv. Keep them outside the original download location or use different names so a format warning cannot lead you to overwrite the practice input.

Define the receiving contract

For this exercise, the receiver expects UTF-8, comma delimiters, one header row and three fields in this order: record_id, customer and amount. Identifiers are exact text, and amounts use a period decimal separator with two decimal places. The file contains three fictional customers, including accented and Chinese text.

The sample includes IDs 00127, 00008 and 123456789012345678. Import these as Text before doing any work. Once a long identifier has been rounded by a numeric conversion, exporting it as text will not restore the lost digits.

Save a separate delivery copy

  1. Keep the working workbook in its native format. Put the agreed output table on a clearly named sheet, with only the required header and data rows.
  2. Select the amount cells and set a number format with two decimal places and no grouping separator. Set the decimal-place count explicitly to 2 in the number-format settings. The number of Increase Decimal clicks depends on the starting format. Confirm that C2:C4 display 12.50, 7.50 and -2.00 before export.
  3. Verify that this sheet is active. Export a separate CSV using the required encoding, choosing CSV UTF-8 where the Excel version offers it.
  4. Read any format warnings. CSV represents a single flat table and does not preserve a workbook's multiple sheets, styles or formula definitions.
  5. Close the exported CSV view after saving it, keeping the .xlsx working copy. Import the newly exported file into a fresh workbook with explicit encoding, delimiter and Text type for record_id.
  6. Compare that fresh import with the original source and the contract below. A second double-click that repeats the same automatic conversions is a weaker check.

Do not send the working workbook renamed with a .csv extension. Changing a filename does not change the file format. If the receiver requires a BOM-free UTF-8 file, verify the exported bytes or use a compatible exporter; the practice input itself uses a UTF-8 BOM.

Reimport settings matter

In our first fresh import, accepting the encoding field as displayed produced garbled customer names, even though the saved bytes were valid UTF-8. A new import with Unicode (UTF-8) explicitly selected from the dropdown preserved José, 李明 and Zoë. Check the actual loaded strings; a visible encoding label alone is not proof of a correct result.

Our tested Mac route was File → Import → CSV file. We explicitly selected Unicode (UTF-8), used Comma with Tab cleared and double-quote qualification, and set the first column to Text before finishing. The amount column loaded as numeric values, so 12.50 could display as 12.5 again; the two-decimal representation was separately checked in the exported text.

Reproduce the failed name check

Download the CSV actually saved by Excel for Mac. Import it into a fresh workbook using the settings above. Leave A1:C4 as loaded. Put the following formula in F4 on the verification sheet, outside the delivery table.

=AND(EXACT(B2,"José"),EXACT(B3,"李明"),EXACT(B4,"Zoë"))

On November 12 we read the formulas and their saved results from both September 30 test workbooks. The first import passed the amount and ID checks. Only the name check failed. Explicitly selecting UTF-8 on the second import of the same file changed that result.

Worksheet checkFirst importFresh import with UTF-8 selected
F2: first ID is text and both short IDs matchTRUETRUE
F3: long ID is text and all 18 digits matchTRUETRUE
F4: all three names match exactlyFALSETRUE
F5: sum of the three amounts1818
F6: three numeric cells with values 12.5, 7.5 and -2TRUETRUE

If F4 returns FALSE, test each EXACT comparison in a separate cell to locate the affected names. Reopen the same delivery file through the import dialog and inspect the names in the preview before loading. If the verified download passes but your own export still fails with identical settings, inspect the customer cells in your working workbook before exporting again. Keep the verification formulas in the workbook so that a subsequent CSV delivery still contains only the three agreed columns.

The saved worksheet formulas and results include the hash of the exported CSV. Excel can display 12.5 after it reads an amount as a number. To check a two-decimal delivery requirement, open the CSV in a text editor and inspect the amount strings: 12.50, 7.50 and -2.00.

Stop when a check fails

Failed checkLikely area to inspectSafe next action
IDs lost zeros or ending digitsNumeric conversion during importReimport the original source with record_id as Text
Names are garbledEncoding selection during export or reimportExplicitly reselect UTF-8 and compare all three names
Total differs from 18Missing rows, sign changes or amounts imported as textCheck all three amounts and confirm three numeric values
Extra or missing fieldsWrong active sheet, range or delimiterInspect the delivery file and export the intended three-column table again

Keep a failed delivery separate until the cause is understood. A matching total cannot compensate for a changed identifier.

Separate a successful save from an accepted delivery

Keep the workbook and untouched source until the recipient confirms the delivery. A successful CSV save proves that a file was written; the fresh-import checks establish whether its values satisfy this particular contract. If the recipient reports a different row count, first compare filenames, export filters and header handling. Do not send a succession of unlabelled replacement files: identify which version supersedes which and retain the failed check in your handoff note.

Record a small handoff note

Include the filename, intended recipient schema, encoding, delimiter, row count, total and generation date. Record any missing or rejected records separately. For recurring deliveries, a file hash helps confirm that the recipient received the same bytes you checked; a hash does not prove the data itself is correct.

The downloadable practice pack includes a manifest of fixture row counts, column counts and SHA-256 hashes. Those hashes describe the original practice files, not an export produced by your Excel version. A different quoting style or line ending can change a hash while leaving the logical table equivalent.

Reference

When delivery must account for a reference list, compare identifiers in both directions. Matching row counts alone do not prove that the same records survived.

Microsoft lists the workbook features lost in text formats in Formatting and features not transferred.

Verification scope

On September 30, 2026, Excel for Mac 16.112.2 imported export-input.csv with record_id as Text, saved a separate .xlsx working copy, and exported CSV UTF-8 with two decimal places. We closed the CSV view and imported the actual exported file into a fresh workbook. EXACT and ISTEXT checks confirmed the IDs, EXACT confirmed all three customer strings, and SUM returned 18 with three numeric amounts. Independent byte checks confirmed UTF-8 with BOM, comma separators, and amounts 12.50, 7.50 and -2.00. The output used CRLF record separators and no final newline. This observation covers this Mac path and sample, not every exporter or receiver.