Guide
Excel to image batch without a plugin
Your product data is almost certainly already in a spreadsheet. Framelet reads CSV, not .xlsx — and that single extra export step is where most people get stuck or quietly lose data.
Why CSV rather than .xlsx
A spreadsheet file is a container: multiple sheets, formulas, formatting, cell types. A CSV is just plain text with commas. Nothing has to be installed to read it, and there is exactly one way to interpret it — which is why it stays the interchange format for batch work.
Steps
- Prepare the sheetPut your field names in the first row — exactly the names you used as variables in the template, without the braces. So
{{product}}in the design becomes the column headerproduct. Then one row per image you want. - Export as CSV UTF-8In Excel: File → Save As → CSV UTF-8 (Comma delimited). Do not pick the plain "CSV (Comma delimited)" option if your data contains accents, currency symbols or non-Latin text — that is the version that mangles them.
- Check what Excel changedThis is the step people skip. Open the CSV in a text editor and look at the first few rows.
- Upload and generateIn Batch create, upload the file. Framelet validates the headers and values, previews the first row on your template, and lists the first five rows so you can confirm the columns landed where you expect.
What Excel quietly changes on export
- Leading zeros disappear. A SKU of
00731becomes731. Format the column as text before exporting. - Long numbers go scientific. Barcodes and long IDs become
1.23E+12. Again: format as text first. - Dates get localised.
03/04/2026is ambiguous, and Excel may rewrite it on the way out. If the date matters, store it as text. - Formulas export as their current value. That is usually what you want — just know the CSV will not recalculate later.
- Only the active sheet is exported. Export each sheet separately if you need more than one.
What this workflow does not do
- There is no
.xlsxupload and no Google Sheets connection — the CSV export is required. - Formulas are not evaluated by Framelet; whatever text the CSV contains is what gets rendered.
- One batch is limited to 50 rows, so a longer sheet becomes several batches.
- Values cannot be empty. A blank cell fails validation rather than rendering an empty gap.
Try it with three rows first
Export a three-line CSV, generate it, and check the output before you process the whole catalogue.
Open the editor — no sign-up needed