feat: import FreePro accepte .xls, .xlsx et .csv

This commit is contained in:
Manus
2026-06-05 09:20:42 -04:00
parent 6224328331
commit a4c347e554
3 changed files with 14 additions and 7 deletions

View File

@@ -77,9 +77,16 @@ function getType(labelClient: string, script: string): string {
*/
export function processFreeproExcel(
buffer: Buffer,
moisLabel: string
moisLabel: string,
fileName?: string
): FreeproVentilationResult {
const wb = xlsx.read(buffer, { type: "buffer", cellDates: true });
// Détecter si c'est un CSV (par extension ou par détection du contenu)
const isCsv = fileName
? /\.csv$/i.test(fileName)
: !buffer[0] || (buffer[0] !== 0x50 && buffer[0] !== 0xD0); // PK = xlsx, D0CF = xls
const wb = isCsv
? xlsx.read(buffer.toString("utf8"), { type: "string", cellDates: true })
: xlsx.read(buffer, { type: "buffer", cellDates: true });
const ws = wb.Sheets[wb.SheetNames[0]];
const rawRows = xlsx.utils.sheet_to_json<Record<string, unknown>>(ws, {
header: [