Excel is still the file clients email. Saving as CSV is where imports break: commas inside cells, the wrong delimiter, and Excel’s idea of UTF-8. The Import WP XLSX reader is a free add-on that imports .xlsx directly so you map sheet columns like any other source.
Free add-on. The rest of the importer (templates, unique keys, WooCommerce, ACF) stays the same; only the file parser changes.
Import Excel to WordPress (posts, products, users)
Point the importer at an .xlsx upload, URL, or path. Map columns to the template you would have used for CSV: posts and pages, CPTs, users, or WooCommerce products.
Import XLSX to WordPress posts when editorial teams refuse to export CSV. Import the same workbook to products when the buying team’s catalogue is a spreadsheet. You do not maintain two files.
Use a unique identifier (SKU, slug, email) so a new version of the workbook updates rows instead of duplicating them. See CSV, XML, and Excel.
Import a spreadsheet without CSV conversion
Skip “Save as CSV” when:
- Product names contain commas or quotes
- The sheet is UTF-8 / Windows-1252 mixed and CSV tools guess wrong
- Multiple sheets exist and you would otherwise export each one by hand
The XLSX WordPress importer reads the workbook. If you only need one sheet, map that sheet’s columns; do not flatten three sheets into one CSV unless the data model requires a join you would rather do in Excel first.
Large workbooks still batch. If the file arrives as a .zip of spreadsheets, use ZIP archives then this reader on the extracted .xlsx.
When to keep CSV or XML instead
CSV is fine for clean, machine-exported feeds. XML is better for nested variations. Excel is for human-maintained catalogues. Pick the parser that matches the file you are actually given — Import WP does not force one format.
