Turn an array of objects into a spreadsheet-ready CSV, with nested objects flattened into dotted columns and quoting handled by the rules.
The result appears hereThey become dotted columns: an address object with a city key gives you an address.city column. It is the only honest way a flat table can carry a tree.
They keep their JSON in the cell. A list has no faithful flat form, and splitting it across columns would break the moment one record has more items than another.
The union of every key seen, in the order they first appear. A key that only some records carry still gets a column, empty where the record had nothing.
Excel assumes the local code page unless a UTF-8 file starts with a byte order mark. Save the download with a BOM, or open it through Data, From Text rather than by double-clicking. Nothing is wrong with the file itself.