analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
1 lines • 1.23 kB
Source Map (JSON)
{"version":3,"sources":["../src/utils/exportExcel.ts"],"sourcesContent":["import * as XLSX from 'xlsx';\n\n/**\n * A single Excel cell value\n */\nexport type ExcelCell = string | number | null;\n\n/**\n * Configuration for a single Excel sheet\n */\nexport interface SheetConfig {\n name: string;\n headers: string[];\n rows: ExcelCell[][];\n}\n\n/**\n * Generate and download an Excel file with multiple sheets.\n *\n * @param fileName - Name of the file without extension\n * @param sheets - Array of sheet configurations\n */\nexport function downloadExcel(fileName: string, sheets: SheetConfig[]): void {\n const workbook = XLSX.utils.book_new();\n\n for (const sheet of sheets) {\n const data: ExcelCell[][] = [sheet.headers, ...sheet.rows];\n const worksheet = XLSX.utils.aoa_to_sheet(data);\n XLSX.utils.book_append_sheet(workbook, worksheet, sheet.name);\n }\n\n XLSX.writeFile(workbook, `${fileName}.xlsx`);\n}\n"],"mappings":";AAAA,YAAY,UAAU;AAsBf,SAAS,cAAc,UAAkB,QAA6B;AAC3E,QAAM,WAAgB,WAAM,SAAS;AAErC,aAAW,SAAS,QAAQ;AAC1B,UAAM,OAAsB,CAAC,MAAM,SAAS,GAAG,MAAM,IAAI;AACzD,UAAM,YAAiB,WAAM,aAAa,IAAI;AAC9C,IAAK,WAAM,kBAAkB,UAAU,WAAW,MAAM,IAAI;AAAA,EAC9D;AAEA,EAAK,eAAU,UAAU,GAAG,QAAQ,OAAO;AAC7C;","names":[]}