Mail merge recipients from Excel and OpenDocument spreadsheets (#334) (#341)

Select Recipients › Use an Existing List… now reads .xlsx, .xlsm and .ods
workbooks besides CSV. A new read-only SpreadsheetML / ODF spreadsheet
reader in wordcraft-formats lists the sheets and turns one sheet into rows
of display strings: shared, inline and rich strings, numbers, booleans,
cached formula results, dates and times as ISO 8601 from the cell's number
format, sparse cells, ODS value types, repeated rows/columns and covered
cells. Zip entries, rows, columns, cells, string lengths and repeat counts
are capped, and nothing recurses.

mailings.recipients takes "data" (base64) and "sheet" and "headers"; a
workbook with several sheets and no sheet answers with the sheet names, and
the app shows a Select Table dialog with "First row of data contains column
headers". The desktop picker, dropped files and the web inbox route
spreadsheets to the recipient list.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
This commit is contained in:
Valentin Klein
2026-10-11 13:31:25 -04:00
committed by GitHub
co-authored by Claude Opus 5.5 Brandon Thomas
parent 8a2a8bb60d
commit 589e82e050
25 changed files with 1330 additions and 38 deletions
Generated
+1
View File
@@ -5238,6 +5238,7 @@ dependencies = [
"wordcraft-layout",
"wordcraft-render",
"wordcraft-zotero",
"zip",
]
[[package]]