---
name: project_xlsx_export
description: Export Excel migré vers SheetJS (xlsx) — vrais fichiers .xlsx sans avertissement
metadata: 
  node_type: memory
  type: project
  originSessionId: f2be746c-47f1-426a-ae80-3c71059fa38c
---

Les exports Excel des 3 pages utilisent SheetJS (`import * as XLSX from 'xlsx'`).

- `xlsx` installé dans `frontend/` via npm
- Pattern : `XLSX.utils.json_to_sheet(data)` → `XLSX.utils.book_append_sheet` → `XLSX.write(wb, { type: 'array', bookType: 'xlsx' })`
- `dlBlob` reçoit un `Uint8Array`, MIME type `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`
- Extension `.xlsx` (remplace l'ancien `.xml` / `.xls` SpreadsheetML qui déclenchait l'avertissement Excel)

**Why:** L'ancien format SpreadsheetML XML avec extension `.xls` déclenchait un avertissement de sécurité dans Excel.
**How to apply:** Toute nouvelle fonction d'export Excel doit suivre ce pattern SheetJS, pas le XML SpreadsheetML manuel.
