@office-open/xlsx 0.9.6 → 0.9.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1207,7 +1207,7 @@ interface FreezePaneOptions {
1207
1207
  }
1208
1208
  interface WorksheetImageOptions {
1209
1209
  data: Uint8Array;
1210
- type: "png" | "jpeg" | "jpg";
1210
+ type: "png" | "jpg";
1211
1211
  col: number;
1212
1212
  row: number;
1213
1213
  }
@@ -1520,7 +1520,7 @@ interface PhoneticPrOptions {
1520
1520
  }
1521
1521
  interface SheetBackgroundImageOptions {
1522
1522
  data: Uint8Array;
1523
- type: "png" | "jpeg" | "jpg";
1523
+ type: "png" | "jpg";
1524
1524
  }
1525
1525
  interface PageBreakOptions {
1526
1526
  id: number;
@@ -1711,4 +1711,4 @@ interface WorkbookOptions extends CorePropertiesOptions {
1711
1711
  }
1712
1712
  //#endregion
1713
1713
  export { OleItemOptions as $, worksheetDesc as A, ConsolidateFunction as B, ScenarioOptions as C, FontOptions as Ct, WorksheetContext as D, stylesDesc as Dt, WorksheetChartOptions as E, StylesDocOptions as Et, TotalsRowFunction as F, PivotSourceData as G, PivotDataField as H, tableDesc as I, ExternalCellOptions as J, PivotTableOptions as K, SharedStrings as L, TableOptions as M, TableStyleInfoOptions as N, WorksheetOptions as O, CorePropertiesOptions as Ot, TableType as P, ExternalSheetDataOptions as Q, SharedStringsDocOptions as R, ScenarioDefinition as S, FillOptions as St, SheetProtectionOptions as T, Styles as Tt, PivotFilterOptions as U, PivotCacheDefinitionOptions as V, PivotFilterType as W, ExternalLinkOptions as X, ExternalDefinedNameOptions as Y, ExternalRowOptions as Z, MergeCellOptions as _, workbookDesc as _t, ColorScaleOptions as a, ChartsheetPageMargins as at, RowOptions as b, BorderSideOptions as bt, ConditionalFormatOptions as c, chartsheetDesc as ct, DataValidationOptions as d, FileSharingOptions as dt, OleLinkOptions as et, FormulaOptions as f, PivotCacheReference as ft, IgnoredErrorOptions as g, buildTablePartsXml as gt, IconSetType as h, buildExternalReferencesXml as ht, CfvoType as i, ChartsheetOptions as it, TableColumnOptions as j, stringifyWorksheet as k, ConditionalFormatRule as l, CustomWorkbookViewOptions as lt, IconSetOptions as m, WorkbookProtectionOptions as mt, CellOptions as n, ChartsheetDescriptorOptions as nt, ColumnOptions as o, ChartsheetPageSetup as ot, FreezePaneOptions as p, WebPublishingOptions as pt, ExternalBookOptions as q, CfvoOptions as r, ChartsheetHeaderFooterOptions as rt, CommentOptions as s, ChartsheetProtectionOptions as st, WorkbookOptions as t, externalLinkDesc as tt, DataBarOptions as u, FileRecoveryPrOptions as ut, PhoneticPrOptions as v, AlignmentOptions as vt, SheetBackgroundImageOptions as w, StyleOptions as wt, ScenarioCellOptions as x, DxfOptions as xt, ProtectedRangeOptions as y, BorderOptions as yt, sharedStringsDesc as z };
1714
- //# sourceMappingURL=file-DQTBkYzl.d.mts.map
1714
+ //# sourceMappingURL=file-CgICvJzI.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-DQTBkYzl.d.mts","names":[],"sources":["../src/parts/core-properties.ts","../src/parts/styles.ts","../src/parts/workbook.ts","../src/parts/chartsheet.ts","../src/parts/external-link.ts","../src/parts/pivot/pivot-utils.ts","../src/parts/shared-strings.ts","../src/parts/table.ts","../src/parts/worksheet.ts","../src/parts/file.ts"],"mappings":"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"}
1
+ {"version":3,"file":"file-CgICvJzI.d.mts","names":[],"sources":["../src/parts/core-properties.ts","../src/parts/styles.ts","../src/parts/workbook.ts","../src/parts/chartsheet.ts","../src/parts/external-link.ts","../src/parts/pivot/pivot-utils.ts","../src/parts/shared-strings.ts","../src/parts/table.ts","../src/parts/worksheet.ts","../src/parts/file.ts"],"mappings":"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"}
@@ -115,7 +115,7 @@ function compileWorkbook(options, overrides = [], mediaLevel = 0) {
115
115
  let rid = 1;
116
116
  for (const img of imgOpts) {
117
117
  const mediaKey = `image_${globalMediaIdx}`;
118
- const ext = img.type === "jpeg" || img.type === "jpg" ? "jpeg" : "png";
118
+ const ext = img.type === "jpg" ? "jpeg" : "png";
119
119
  ctx.media.addImage(mediaKey, {
120
120
  fileName: `image${globalMediaIdx + 1}.${ext}`,
121
121
  type: ext,
@@ -797,4 +797,4 @@ function generateWorkbookStream(options, packerOptions) {
797
797
  //#endregion
798
798
  export { compileWorkbook as i, generateWorkbookStream as n, generateWorkbookSync as r, generateWorkbook as t };
799
799
 
800
- //# sourceMappingURL=generate-n38Ig71o.mjs.map
800
+ //# sourceMappingURL=generate-DWMr3rAE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-DWMr3rAE.mjs","names":["buildWorksheetXml"],"sources":["../src/compiler.ts","../src/generate.ts"],"sourcesContent":["/**\n * XLSX Compiler — compiles WorkbookOptions into a Zippable structure.\n *\n * Accepts pure JSON WorkbookOptions — no intermediate File class needed.\n * Uses XlsxWriteContext for shared state (strings, styles, media, charts).\n *\n * @module\n */\n\nimport {\n APP_PROPS_XML,\n Relationships,\n TargetModeType,\n buildCorePropertiesXmlString,\n compileMapping,\n type XmlifyedFile,\n type Zippable,\n} from \"@office-open/core\";\nimport { chartSpaceDesc } from \"@office-open/core/chart\";\nimport type { CalcCell } from \"@parts/calc-chain\";\nimport { calcChainDesc } from \"@parts/calc-chain\";\nimport { chartsheetDesc } from \"@parts/chartsheet\";\nimport { commentsDesc, vmlNotesDesc } from \"@parts/comments\";\nimport type { ImageOptions, ChartAnchorOptions } from \"@parts/drawing\";\nimport { drawingDesc } from \"@parts/drawing\";\nimport { externalLinkDesc } from \"@parts/external-link\";\nimport type { WorkbookOptions } from \"@parts/file\";\nimport { aggregate, collectUniqueValues } from \"@parts/pivot\";\nimport type { PivotSourceData, PivotTableOptions } from \"@parts/pivot\";\nimport { pivotCacheDefDesc, pivotCacheRecordsDesc } from \"@parts/pivot-cache\";\nimport { pivotTableDesc } from \"@parts/pivot-table\";\nimport { sharedStringsDesc } from \"@parts/shared-strings\";\nimport type { SharedStrings } from \"@parts/shared-strings\";\nimport { stylesDesc } from \"@parts/styles\";\nimport { tableDesc } from \"@parts/table\";\nimport { createThemeXml } from \"@parts/theme\";\nimport type { TablePartReference, SheetDefinition } from \"@parts/workbook\";\nimport { workbookDesc, buildTablePartsXml, buildExternalReferencesXml } from \"@parts/workbook\";\nimport { buildWorksheetXml, type WorksheetContext } from \"@parts/worksheet\";\nimport type { RowOptions, WorksheetOptions } from \"@parts/worksheet\";\n\nimport { XlsxWriteContext } from \"./context\";\n\nconst XML_DECL = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>';\n\n/**\n * Compile workbook options into a Zippable structure.\n */\nexport function compileWorkbook(\n options: WorkbookOptions,\n overrides: XmlifyedFile[] = [],\n mediaLevel: number = 0,\n): Zippable {\n const ctx = new XlsxWriteContext();\n const mapping: Record<string, { data: string; path: string }> = {};\n\n const worksheetConfigs = options.worksheets ?? [];\n const chartsheetConfigs = options.chartsheets ?? [];\n\n // Core properties\n mapping[\"Properties\"] = {\n data: XML_DECL + buildCorePropertiesXmlString(options),\n path: \"docProps/core.xml\",\n };\n\n // App properties\n mapping[\"AppProperties\"] = {\n data: XML_DECL + APP_PROPS_XML,\n path: \"docProps/app.xml\",\n };\n\n // File-level relationships (_rels/.rels)\n const fileRels = buildFileRelationships();\n mapping[\"FileRelationships\"] = {\n data: XML_DECL + fileRels.serialize(),\n path: \"_rels/.rels\",\n };\n\n // Register base content types\n for (let i = 0; i < worksheetConfigs.length; i++) {\n ctx.contentTypes.addWorksheet(i + 1);\n }\n ctx.contentTypes.addStyles();\n ctx.contentTypes.addSharedStrings();\n ctx.contentTypes.addTheme();\n\n // Register predefined DXFs before worksheets use styles\n for (const dxf of options.dxfs ?? []) {\n ctx.registerDxf(dxf);\n }\n\n // Re-apply parsed style sections so a declarative round-trip preserves\n // them (colors, table/cell styles, extensions) alongside DXFs.\n if (options.colors) ctx.styles.setColors(options.colors);\n if (options.tableStyles) ctx.styles.setTableStyles(options.tableStyles);\n if (options.cellStyles) ctx.styles.setCustomCellStyles(options.cellStyles);\n if (options.styleExtensions) ctx.styles.setExtensions(options.styleExtensions);\n\n // Build workbook relationships\n buildWorkbookRelationships(ctx.workbookRels, worksheetConfigs.length, chartsheetConfigs.length);\n\n // Build sheet definitions for workbook XML\n const sheets: SheetDefinition[] = [];\n let sheetId = 1;\n let rId = 1;\n for (const ws of worksheetConfigs) {\n sheets.push({\n name: ws.name ?? `Sheet${sheetId}`,\n sheetId: sheetId++,\n rId: `rId${rId++}`,\n });\n }\n for (const cs of chartsheetConfigs) {\n sheets.push({\n name: cs.name ?? `Chart${sheetId}`,\n sheetId: sheetId++,\n rId: `rId${rId++}`,\n });\n }\n\n // Worksheets — formatted BEFORE SharedStrings so strings are registered\n let globalMediaIdx = 0;\n let globalChartIdx = 0;\n let globalPivotIdx = 0;\n let globalPivotCacheIdx = 0;\n let globalTableIdx = 0;\n const pivotCacheDataMap = new Map<string, { cacheId: number; cacheIdx: number }>();\n const calcCells: CalcCell[] = [];\n const allTableParts: TablePartReference[] = [];\n\n const wsContext: WorksheetContext = { sharedStrings: ctx.sharedStrings, styles: ctx.styles };\n\n for (let i = 0; i < worksheetConfigs.length; i++) {\n const wsOpts = worksheetConfigs[i];\n const imgOpts = wsOpts.images ?? [];\n const chartOpts = wsOpts.charts ?? [];\n const hlOpts = wsOpts.hyperlinks ?? [];\n const sheetName = wsOpts.name ?? `Sheet${i + 1}`;\n\n // Worksheet uses buildWorksheetXml fast path (zero-allocation string concat)\n let sheetXml = buildWorksheetXml(wsOpts, wsContext);\n\n // Collect formula cells for calcChain\n const sheetIdx = i + 1;\n const wsRows = wsOpts.rows ?? [];\n for (let ri = 0; ri < wsRows.length; ri++) {\n const rowOpts = wsRows[ri];\n const rowNumber = rowOpts.rowNumber ?? ri + 1;\n if (!rowOpts.cells) continue;\n for (let ci = 0; ci < rowOpts.cells.length; ci++) {\n const cell = rowOpts.cells[ci];\n if (!cell.formula) continue;\n const ref = cell.reference ?? columnToLetter(ci + 1) + rowNumber;\n calcCells.push({\n reference: ref,\n sheetIndex: sheetIdx,\n array: cell.formula.type === \"array\",\n });\n }\n }\n\n const hasMedia = imgOpts.length > 0 || chartOpts.length > 0;\n const hasExternalHyperlinks = hlOpts.some((h) => h.target.type === \"external\");\n const commentOpts = wsOpts.comments ?? [];\n const hasComments = commentOpts.length > 0;\n const pivotOpts = wsOpts.pivotTables ?? [];\n const hasPivots = pivotOpts.length > 0;\n const tableOpts = wsOpts.tables ?? [];\n const hasTables = tableOpts.length > 0;\n const bgImg = wsOpts.backgroundImage;\n\n // Worksheet-level relationships\n let wsRels: Relationships | undefined;\n let nextRid = 0;\n\n if (hasMedia || hasExternalHyperlinks || hasComments || hasPivots || hasTables || bgImg) {\n wsRels = new Relationships();\n }\n\n if (hasExternalHyperlinks) {\n for (const hl of hlOpts) {\n if (hl.target.type !== \"external\") continue;\n const rid = ++nextRid;\n wsRels!.addRelationship(\n rid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n hl.target.url,\n \"External\",\n );\n }\n }\n\n if (hasMedia) {\n const drawingImages: ImageOptions[] = [];\n const drawingCharts: ChartAnchorOptions[] = [];\n const drawingRels = new Relationships();\n let rid = 1;\n\n // Process images\n for (const img of imgOpts) {\n const mediaKey = `image_${globalMediaIdx}`;\n const ext = img.type === \"jpg\" ? \"jpeg\" : \"png\";\n ctx.media.addImage(mediaKey, {\n fileName: `image${globalMediaIdx + 1}.${ext}`,\n type: ext,\n data: img.data,\n width: 0,\n height: 0,\n });\n\n drawingRels.addRelationship(\n rid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `../media/image${globalMediaIdx + 1}.${ext}`,\n );\n\n drawingImages.push({\n col: img.col,\n row: img.row,\n rId: `rId${rid}`,\n });\n rid++;\n globalMediaIdx++;\n }\n\n // Process charts\n for (const chart of chartOpts) {\n const chartKey = `chart_${globalChartIdx}`;\n ctx.charts.addChart(chartKey, {\n key: chartKey,\n chartSpaceXml: chartSpaceDesc.stringify(chart, ctx) ?? \"\",\n });\n\n drawingRels.addRelationship(\n rid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n `../charts/chart${globalChartIdx + 1}.xml`,\n );\n\n drawingCharts.push({\n col: chart.col,\n row: chart.row,\n rId: `rId${rid}`,\n });\n rid++;\n globalChartIdx++;\n }\n\n // Generate drawing XML (via descriptor)\n const drawingXml = drawingDesc.stringify(\n { images: drawingImages, charts: drawingCharts },\n ctx,\n );\n const drawingIdx = i + 1;\n mapping[`Drawing${i}`] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${drawingXml}`,\n path: `xl/drawings/drawing${drawingIdx}.xml`,\n };\n\n // Drawing relationships\n mapping[`DrawingRels${i}`] = {\n data: XML_DECL + drawingRels.serialize(),\n path: `xl/drawings/_rels/drawing${drawingIdx}.xml.rels`,\n };\n\n // Insert drawing reference before the closing </worksheet> tag.\n const drawingRid = ++nextRid;\n const closingTag = \"</worksheet>\";\n sheetXml =\n sheetXml.slice(0, -closingTag.length) + `<drawing r:id=\"rId${drawingRid}\"/>` + closingTag;\n\n // Add drawing relationship to worksheet rels\n wsRels!.addRelationship(\n drawingRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n `../drawings/drawing${drawingIdx}.xml`,\n );\n\n ctx.contentTypes.addDrawing(drawingIdx);\n }\n\n // Comments\n if (hasComments) {\n const commentsIdx = i + 1;\n\n // Comments XML (via descriptor)\n const commentsXml = commentsDesc.stringify({ comments: commentOpts }, ctx);\n mapping[`Comments${i}`] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${commentsXml}`,\n path: `xl/comments${commentsIdx}.xml`,\n };\n\n // VML drawing (via descriptor)\n const vmlXml = vmlNotesDesc.stringify({ comments: commentOpts }, ctx);\n mapping[`VmlDrawing${i}`] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${vmlXml}`,\n path: `xl/drawings/vmlDrawing${commentsIdx}.vml`,\n };\n\n // Worksheet rels: comments → comments XML, legacyDrawing → VML file\n const commentsRid = ++nextRid;\n wsRels!.addRelationship(\n commentsRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n `../comments${commentsIdx}.xml`,\n );\n\n const vmlRid = ++nextRid;\n wsRels!.addRelationship(\n vmlRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n `../drawings/vmlDrawing${commentsIdx}.vml`,\n );\n\n // Insert legacyDrawing reference before closing </worksheet>\n const closingTag = \"</worksheet>\";\n sheetXml =\n sheetXml.slice(0, -closingTag.length) + `<legacyDrawing r:id=\"rId${vmlRid}\"/>` + closingTag;\n\n // Register content types\n ctx.contentTypes.addComments(commentsIdx);\n ctx.contentTypes.addVmlDrawing();\n }\n\n // Background picture\n if (bgImg) {\n const ext = bgImg.type === \"jpg\" ? \"jpeg\" : bgImg.type;\n const mediaKey = `bg_${i}`;\n const mediaIdx = globalMediaIdx + 1;\n ctx.media.addImage(mediaKey, {\n fileName: `image${mediaIdx}.${ext}`,\n type: ext,\n data: bgImg.data,\n width: 0,\n height: 0,\n });\n globalMediaIdx++;\n const bgRid = ++nextRid;\n wsRels!.addRelationship(\n bgRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `../media/image${mediaIdx}.${ext}`,\n );\n sheetXml = sheetXml.replace(\"<!--BACKGROUND_PICTURE-->\", `<picture r:id=\"rId${bgRid}\"/>`);\n }\n\n // Pivot tables\n if (hasPivots) {\n for (const pt of pivotOpts) {\n globalPivotIdx++;\n const pivotIdx = globalPivotIdx;\n\n // Extract source data from source sheet\n const sourceSheet = pt.sourceSheet ?? sheetName;\n const sourceWsIdx = worksheetConfigs.findIndex(\n (ws) => (ws.name ?? `Sheet${worksheetConfigs.indexOf(ws) + 1}`) === sourceSheet,\n );\n if (sourceWsIdx === -1) continue;\n\n const sourceRows = worksheetConfigs[sourceWsIdx].rows ?? [];\n const sourceData = extractPivotSourceData(sourceRows, pt.source);\n\n // Deduplicate pivot caches by source reference\n const cacheKey = `${sourceSheet}:${pt.source}`;\n let cacheId: number;\n let cacheIdx: number;\n const existing = pivotCacheDataMap.get(cacheKey);\n if (existing) {\n cacheId = existing.cacheId;\n cacheIdx = existing.cacheIdx;\n } else {\n globalPivotCacheIdx++;\n cacheIdx = globalPivotCacheIdx;\n cacheId = cacheIdx;\n pivotCacheDataMap.set(cacheKey, { cacheId, cacheIdx });\n\n // Generate pivotCacheDefinition\n const cacheDefRels = new Relationships();\n cacheDefRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords\",\n \"pivotCacheRecords1.xml\",\n );\n\n const cacheDefXml =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>' +\n pivotCacheDefDesc.stringify(\n {\n sourceRef: pt.source.split(\":\")[0] ? pt.source : \"A1\",\n sourceSheet,\n sourceData,\n recordsRid: \"rId1\",\n },\n ctx,\n );\n\n mapping[`PivotCacheDef${cacheIdx}`] = {\n data: cacheDefXml,\n path: `xl/pivotCache/pivotCacheDefinition${cacheIdx}.xml`,\n };\n mapping[`PivotCacheDefRels${cacheIdx}`] = {\n data: XML_DECL + cacheDefRels.serialize(),\n path: `xl/pivotCache/_rels/pivotCacheDefinition${cacheIdx}.xml.rels`,\n };\n\n // Generate pivotCacheRecords\n const cacheRecordsXml =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>' +\n pivotCacheRecordsDesc.stringify({ sourceData }, ctx);\n mapping[`PivotCacheRecords${cacheIdx}`] = {\n data: cacheRecordsXml,\n path: `xl/pivotCache/pivotCacheRecords${cacheIdx}.xml`,\n };\n\n // Content types\n ctx.contentTypes.addPivotCacheDefinition(cacheIdx);\n ctx.contentTypes.addPivotCacheRecords(cacheIdx);\n\n // Register in workbook\n const wbPivotRid = ctx.workbookRels.relationshipCount + 1;\n ctx.workbookRels.addRelationship(\n wbPivotRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition\",\n `pivotCache/pivotCacheDefinition${cacheIdx}.xml`,\n );\n ctx.pivotCacheRefs.push({ cacheId, rId: `rId${wbPivotRid}` });\n }\n\n // Generate pivotTable\n const pivotTableXml =\n XML_DECL + pivotTableDesc.stringify({ options: pt, sourceData, cacheId }, ctx);\n mapping[`PivotTable${pivotIdx}`] = {\n data: pivotTableXml,\n path: `xl/pivotTables/pivotTable${pivotIdx}.xml`,\n };\n\n // pivotTable rels → cacheDefinition\n const ptRels = new Relationships();\n ptRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition\",\n `../pivotCache/pivotCacheDefinition${cacheIdx}.xml`,\n );\n mapping[`PivotTableRels${pivotIdx}`] = {\n data: XML_DECL + ptRels.serialize(),\n path: `xl/pivotTables/_rels/pivotTable${pivotIdx}.xml.rels`,\n };\n\n // Worksheet rels → pivotTable\n const ptRid = ++nextRid;\n wsRels!.addRelationship(\n ptRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable\",\n `../pivotTables/pivotTable${pivotIdx}.xml`,\n );\n\n ctx.contentTypes.addPivotTable(pivotIdx);\n }\n }\n\n // Tables (list objects)\n const wsTableParts: TablePartReference[] = [];\n if (hasTables) {\n for (const tbl of tableOpts) {\n globalTableIdx++;\n const tableIdx = globalTableIdx;\n\n // Generate table XML\n const tableXmlStr =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>' +\n tableDesc.stringify({ ...tbl, id: tbl.id ?? tableIdx }, ctx);\n mapping[`Table${tableIdx}`] = {\n data: tableXmlStr,\n path: `xl/tables/table${tableIdx}.xml`,\n };\n\n // Worksheet rels → table\n const tblRid = ++nextRid;\n wsRels!.addRelationship(\n tblRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table\",\n `../tables/table${tableIdx}.xml`,\n );\n\n wsTableParts.push({ rId: `rId${tblRid}` });\n allTableParts.push({ rId: `rId${tblRid}` });\n\n ctx.contentTypes.addTable(tableIdx);\n }\n }\n\n // Pre-render pivot table data into sheetData\n if (hasPivots) {\n const rendered = renderPivotSheetData(\n pivotOpts,\n worksheetConfigs,\n ctx.sharedStrings,\n sheetName,\n );\n if (rendered.sheetData.length > 0) {\n // Replace empty <sheetData/> or <sheetData></sheetData> with rendered data\n sheetXml = sheetXml.replace(/<sheetData\\/>|<sheetData><\\/sheetData>/, rendered.sheetData);\n // Inject <dimension> before <sheetViews> (XSD sequence order: dimension before sheetViews)\n if (!sheetXml.includes(\"<dimension\")) {\n sheetXml = sheetXml.replace(\n \"<sheetViews\",\n `<dimension ref=\"${rendered.dimensionRef}\"/><sheetViews`,\n );\n }\n }\n }\n\n // Insert tableParts before closing </worksheet> tag\n if (wsTableParts.length > 0) {\n const tablePartsXml = buildTablePartsXml(wsTableParts);\n const closingTag = \"</worksheet>\";\n sheetXml = sheetXml.slice(0, -closingTag.length) + tablePartsXml + closingTag;\n }\n\n // Write worksheet rels if needed\n if (wsRels) {\n mapping[`WorksheetRels${i}`] = {\n data: XML_DECL + wsRels.serialize(),\n path: `xl/worksheets/_rels/sheet${i + 1}.xml.rels`,\n };\n }\n\n mapping[`Worksheet${i}`] = {\n data: sheetXml,\n path: `xl/worksheets/sheet${i + 1}.xml`,\n };\n }\n\n // Chartsheets — chart-only sheets\n for (let i = 0; i < chartsheetConfigs.length; i++) {\n const csOpts = chartsheetConfigs[i];\n\n // Register chart in the charts collection\n const chartDef = csOpts.chart;\n const csChartGlobalIdx = ctx.charts.array.length;\n const csChartKey = `cs_chart_${csChartGlobalIdx}`;\n ctx.charts.addChart(csChartKey, {\n key: csChartKey,\n chartSpaceXml:\n chartSpaceDesc.stringify(\n {\n type: chartDef.type as\n | \"column\"\n | \"bar\"\n | \"line\"\n | \"pie\"\n | \"doughnut\"\n | \"area\"\n | \"scatter\"\n | \"bubble\",\n title: chartDef.title,\n categories: chartDef.categories,\n series: chartDef.series,\n },\n ctx,\n ) ?? \"\",\n });\n\n // Chartsheet relationships: drawing (required)\n const csRels = new Relationships();\n const csDrawingIdx = i + 1;\n csRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n `../drawings/drawing${csDrawingIdx}.xml`,\n );\n\n // Drawing rels: chart reference\n const csDrawingRels = new Relationships();\n csDrawingRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n `../charts/chart${csChartGlobalIdx + 1}.xml`,\n );\n\n // Minimal drawing XML with chart anchor\n const csDrawingXml =\n `<xdr:wsDr xmlns:xdr=\"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">` +\n `<xdr:absoluteAnchor>` +\n `<xdr:pos x=\"0\" y=\"0\"/>` +\n `<xdr:ext cx=\"9308969\" cy=\"6096000\"/>` +\n `<xdr:graphicFrame>` +\n `<xdr:nvGraphicFramePr><xdr:cNvPr id=\"1\" name=\"Chart ${i + 1}\"/><xdr:cNvGraphicFramePr><a:graphicFrameLocks noGrp=\"1\"/></xdr:cNvGraphicFramePr></xdr:nvGraphicFramePr>` +\n `<xdr:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"9308969\" cy=\"6096000\"/></xdr:xfrm>` +\n `<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/chart\"><c:chart xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" r:id=\"rId1\"/></a:graphicData></a:graphic>` +\n `</xdr:graphicFrame>` +\n `<xdr:clientData/>` +\n `</xdr:absoluteAnchor>` +\n `</xdr:wsDr>`;\n\n mapping[`ChartsheetDrawing${i}`] = {\n data: csDrawingXml,\n path: `xl/drawings/drawing${csDrawingIdx}.xml`,\n };\n mapping[`ChartsheetDrawingRels${i}`] = {\n data: XML_DECL + csDrawingRels.serialize(),\n path: `xl/drawings/_rels/drawing${csDrawingIdx}.xml.rels`,\n };\n ctx.contentTypes.addDrawing(csDrawingIdx);\n\n mapping[`ChartsheetRels${i}`] = {\n data: XML_DECL + csRels.serialize(),\n path: `xl/chartsheets/_rels/sheet${i + 1}.xml.rels`,\n };\n mapping[`Chartsheet${i}`] = {\n data: XML_DECL + chartsheetDesc.stringify({ ...csOpts, drawingRId: \"rId1\" }, ctx),\n path: `xl/chartsheets/sheet${i + 1}.xml`,\n };\n ctx.contentTypes.addChartsheet(i + 1);\n }\n\n // Workbook XML (via descriptor)\n let wbXml =\n workbookDesc.stringify(\n {\n sheets,\n pivotCaches: ctx.pivotCacheRefs,\n protection: options.workbookProtection,\n customViews: options.customWorkbookViews,\n fileRecoveryPr: options.fileRecoveryPr,\n functionGroups: options.functionGroups,\n webPublishing: options.webPublishing,\n fileSharing: options.fileSharing,\n volTypes: options.volTypes,\n webPublishObjects: options.webPublishObjects,\n },\n ctx,\n ) ?? \"\";\n\n // External links — generate XML files and inject externalReferences into workbook\n const extLinks = options.externalLinks ?? [];\n if (extLinks.length > 0) {\n const extRefs: { rId: string }[] = [];\n for (let ei = 0; ei < extLinks.length; ei++) {\n const elIdx = ei + 1;\n const elRid = ctx.workbookRels.relationshipCount + 1;\n ctx.workbookRels.addRelationship(\n elRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n `externalLinks/externalLink${elIdx}.xml`,\n );\n\n // Create the rels file for this external link\n const elOpts = extLinks[ei];\n let bookRId: string | undefined;\n if (elOpts.externalBook?.target) {\n const elRels = new Relationships();\n elRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n elOpts.externalBook.target,\n TargetModeType.EXTERNAL,\n );\n bookRId = \"rId1\";\n mapping[`ExternalLinkRels${elIdx}`] = {\n data: XML_DECL + elRels.serialize(),\n path: `xl/externalLinks/_rels/externalLink${elIdx}.xml.rels`,\n };\n }\n\n // Generate the external link XML\n mapping[`ExternalLink${elIdx}`] = {\n data: XML_DECL + externalLinkDesc.stringify({ ...elOpts, bookRId }, ctx),\n path: `xl/externalLinks/externalLink${elIdx}.xml`,\n };\n\n extRefs.push({ rId: `rId${elRid}` });\n ctx.contentTypes.addExternalLink(elIdx);\n }\n\n // Inject externalReferences into workbook XML\n const extRefsXml = buildExternalReferencesXml(extRefs);\n wbXml = wbXml.replace(\"<!--EXTERNAL_REFS-->\", extRefsXml);\n } else {\n wbXml = wbXml.replace(\"<!--EXTERNAL_REFS-->\", \"\");\n }\n\n mapping[\"Workbook\"] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${wbXml}`,\n path: \"xl/workbook.xml\",\n };\n\n // Workbook relationships\n mapping[\"WorkbookRelationships\"] = {\n data: XML_DECL + ctx.workbookRels.serialize(),\n path: \"xl/_rels/workbook.xml.rels\",\n };\n\n // Shared Strings — AFTER worksheets so all strings are collected\n if (ctx.sharedStrings.count > 0) {\n const ssXml = sharedStringsDesc.stringify(ctx.sharedStrings.toDescriptorOptions(), ctx);\n mapping[\"SharedStrings\"] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${ssXml}`,\n path: \"xl/sharedStrings.xml\",\n };\n }\n\n // Styles (via descriptor — delegates to Styles.toXml internally)\n const stylesXml = stylesDesc.stringify({ styles: ctx.styles }, ctx);\n mapping[\"Styles\"] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${stylesXml}`,\n path: \"xl/styles.xml\",\n };\n\n // Theme\n mapping[\"Theme\"] = {\n data: XML_DECL + createThemeXml(),\n path: \"xl/theme/theme1.xml\",\n };\n\n // Charts — AFTER worksheets so charts are registered\n for (let i = 0; i < ctx.charts.array.length; i++) {\n const chartData = ctx.charts.array[i];\n mapping[`Chart${i}`] = {\n data: XML_DECL + chartData.chartSpaceXml,\n path: `xl/charts/chart${i + 1}.xml`,\n };\n ctx.contentTypes.addChart(i + 1);\n }\n\n // Calculation chain — auto-generated from formula cells\n if (calcCells.length > 0) {\n mapping[\"CalcChain\"] = {\n data: calcChainDesc.stringify({ cells: calcCells }, ctx) ?? \"\",\n path: \"xl/calcChain.xml\",\n };\n ctx.contentTypes.addCalcChain();\n const calcChainRid = ctx.workbookRels.relationshipCount + 1;\n ctx.workbookRels.addRelationship(\n calcChainRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain\",\n \"calcChain.xml\",\n );\n }\n\n // Register image content types\n const imageExts = new Set<string>();\n for (const img of ctx.media.array) {\n const ext = img.fileName.endsWith(\".png\") ? \"png\" : \"jpeg\";\n if (!imageExts.has(ext)) {\n imageExts.add(ext);\n ctx.contentTypes.addImageType(ext as \"png\" | \"jpeg\");\n }\n }\n\n // Content Types — must be last\n mapping[\"ContentTypes\"] = {\n data: XML_DECL + ctx.contentTypes.serialize(),\n path: \"[Content_Types].xml\",\n };\n\n // Convert mapping to Zippable\n const mediaFiles: Array<{ data: Uint8Array; path: string }> = [];\n for (const img of ctx.media.array) {\n mediaFiles.push({ data: img.data, path: `xl/media/${img.fileName}` });\n }\n\n return compileMapping(mapping, overrides, mediaFiles, mediaLevel);\n}\n\n// ── Pure helper functions ──\n\nfunction buildFileRelationships(): Relationships {\n const rels = new Relationships();\n rels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n \"xl/workbook.xml\",\n );\n rels.addRelationship(\n 2,\n \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n \"docProps/core.xml\",\n );\n rels.addRelationship(\n 3,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\",\n \"docProps/app.xml\",\n );\n return rels;\n}\n\nfunction buildWorkbookRelationships(rels: Relationships, wsCount: number, csCount: number): void {\n let rid = 1;\n for (let i = 0; i < wsCount; i++) {\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n `worksheets/sheet${i + 1}.xml`,\n );\n }\n for (let i = 0; i < csCount; i++) {\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n `chartsheets/sheet${i + 1}.xml`,\n );\n }\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n \"styles.xml\",\n );\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n \"theme/theme1.xml\",\n );\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n \"sharedStrings.xml\",\n );\n}\n\nfunction extractPivotSourceData(rows: RowOptions[], sourceRef: string): PivotSourceData {\n const parts = sourceRef.split(\":\");\n const startMatch = parts[0]?.match(/^([A-Z]+)(\\d+)$/);\n const endMatch = parts[1]?.match(/^([A-Z]+)(\\d+)$/);\n if (!startMatch) {\n return { fieldNames: [], records: [] };\n }\n\n const startRow = parseInt(startMatch[2], 10) - 1;\n const endRow = endMatch ? parseInt(endMatch[2], 10) - 1 : startRow;\n const startCol = colLetterToIndex(startMatch[1]);\n const endCol = endMatch ? colLetterToIndex(endMatch[1]) : startCol;\n const colCount = endCol - startCol + 1;\n\n // First row is headers\n const headerRow = rows[startRow];\n const fieldNames: string[] = [];\n if (headerRow?.cells) {\n for (let c = startCol; c <= endCol && c < headerRow.cells.length; c++) {\n const hv = headerRow.cells[c]?.value;\n fieldNames.push(\n typeof hv === \"string\"\n ? hv\n : typeof hv === \"number\" || typeof hv === \"boolean\"\n ? String(hv)\n : `Col${c}`,\n );\n }\n }\n\n // Remaining rows are data\n const records: (string | number)[][] = [];\n for (let r = startRow + 1; r <= endRow; r++) {\n const row = rows[r];\n if (!row?.cells) continue;\n const record: (string | number)[] = [];\n for (let c = startCol; c <= endCol; c++) {\n const val = row.cells[c]?.value;\n if (typeof val === \"number\") {\n record.push(val);\n } else if (val instanceof Date) {\n record.push(val.getTime());\n } else {\n record.push(typeof val === \"string\" ? val : typeof val === \"boolean\" ? String(val) : \"\");\n }\n }\n if (record.length === colCount) {\n records.push(record);\n }\n }\n\n return { fieldNames, records };\n}\n\nfunction colLetterToIndex(letters: string): number {\n let col = 0;\n for (let i = 0; i < letters.length; i++) {\n col = col * 26 + (letters.charCodeAt(i) - 64);\n }\n return col - 1;\n}\n\nfunction renderPivotSheetData(\n pivotOpts: PivotTableOptions[],\n worksheetConfigs: WorksheetOptions[],\n sharedStrings: SharedStrings,\n currentSheetName: string,\n): { sheetData: string; dimensionRef: string } {\n const rowCells = new Map<number, string[]>();\n let maxRow = 0;\n let maxCol = 0;\n let minRow = Infinity;\n let minCol = Infinity;\n\n for (const pt of pivotOpts) {\n const location = pt.location ?? \"A3\";\n const locMatch = location.match(/^([A-Z]+)(\\d+)$/);\n if (!locMatch) continue;\n\n const startCol = colLetterToIndex(locMatch[1]);\n const startRow = parseInt(locMatch[2], 10);\n const rowFieldNames = pt.rows;\n const dataFields = pt.data;\n\n const sourceSheetName = pt.sourceSheet ?? currentSheetName;\n const sourceWsIdx = worksheetConfigs.findIndex(\n (ws) => (ws.name ?? `Sheet${worksheetConfigs.indexOf(ws) + 1}`) === sourceSheetName,\n );\n if (sourceWsIdx === -1) continue;\n\n const sourceRows = worksheetConfigs[sourceWsIdx]?.rows ?? [];\n const sourceData = extractPivotSourceData(sourceRows, pt.source);\n if (sourceData.fieldNames.length === 0) continue;\n\n const fields = sourceData.fieldNames;\n const rowFieldIndices = rowFieldNames.map((n) => fields.indexOf(n));\n const dataFieldIndices = dataFields.map((df) => fields.indexOf(df.field));\n\n if (rowFieldIndices.some((idx) => idx === -1)) continue;\n if (dataFieldIndices.some((idx) => idx === -1)) continue;\n\n // Group records by row field values\n const groupMap = new Map<string, { keys: (string | number)[]; values: number[][] }>();\n for (const record of sourceData.records) {\n const groupKey = rowFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n let group = groupMap.get(groupKey);\n if (!group) {\n group = {\n keys: rowFieldIndices.map((fi) => {\n const v = record[fi];\n return typeof v === \"string\" || typeof v === \"number\" ? v : String(v ?? \"\");\n }),\n values: dataFieldIndices.map(() => []),\n };\n groupMap.set(groupKey, group);\n }\n for (let di = 0; di < dataFieldIndices.length; di++) {\n const val = record[dataFieldIndices[di]];\n if (typeof val === \"number\") {\n group.values[di].push(val);\n }\n }\n }\n\n // Column field info for cross-tab layout\n const colFieldNames = pt.columns ?? [];\n const colFieldIndices = colFieldNames.map((n) => fields.indexOf(n));\n\n const addCells = (rowIdx: number, cells: string[]) => {\n let arr = rowCells.get(rowIdx);\n if (!arr) {\n arr = [];\n rowCells.set(rowIdx, arr);\n }\n for (const c of cells) arr.push(c);\n minRow = Math.min(minRow, rowIdx);\n maxRow = Math.max(maxRow, rowIdx);\n };\n\n if (colFieldIndices.length > 0 && !colFieldIndices.some((idx) => idx === -1)) {\n // --- Cross-tab layout (with column fields) ---\n // Unique column values for the first column field\n const colUniqueVals = collectUniqueValues(sourceData.records, colFieldIndices[0]).map((v) =>\n typeof v === \"string\" || typeof v === \"number\" ? String(v) : String(v ?? \"\"),\n );\n\n // Build cross-tab map: rowKey → colKey → aggregated values per data field\n const crossTabMap = new Map<\n string,\n { rowKeys: (string | number)[]; colData: Map<string, number[][]>; rowTotals: number[][] }\n >();\n for (const record of sourceData.records) {\n const rowKey = rowFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n const colKey = colFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n let entry = crossTabMap.get(rowKey);\n if (!entry) {\n entry = {\n rowKeys: rowFieldIndices.map((fi) => {\n const v = record[fi];\n return typeof v === \"string\" || typeof v === \"number\" ? v : String(v ?? \"\");\n }),\n colData: new Map(),\n rowTotals: dataFieldIndices.map(() => []),\n };\n crossTabMap.set(rowKey, entry);\n }\n let colValues = entry.colData.get(colKey);\n if (!colValues) {\n colValues = dataFieldIndices.map(() => []);\n entry.colData.set(colKey, colValues);\n }\n for (let di = 0; di < dataFieldIndices.length; di++) {\n const val = record[dataFieldIndices[di]];\n if (typeof val === \"number\") {\n colValues[di].push(val);\n entry.rowTotals[di].push(val);\n }\n }\n }\n\n // Column count: row fields + column unique values + 1 (grand total column)\n const numColVals = colUniqueVals.length;\n const totalCols = rowFieldNames.length + numColVals + 1;\n const endCol = startCol + totalCols - 1;\n minCol = Math.min(minCol, startCol);\n maxCol = Math.max(maxCol, endCol);\n\n // Header row: [rowFieldName(s), ...colUniqueVals, dataFieldName or \"Grand Total\"]\n const headerCells: string[] = [];\n for (const rfName of rowFieldNames) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const strIdx = sharedStrings.register(rfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n for (const cv of colUniqueVals) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const strIdx = sharedStrings.register(cv);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n // Last header cell: data field name (e.g., \"Total Revenue\")\n {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const df0 = dataFields[0];\n const subtotal = df0.summarize ?? \"sum\";\n const dfName = df0.name ?? `${subtotal === \"sum\" ? \"Sum\" : subtotal} of ${df0.field}`;\n const strIdx = sharedStrings.register(dfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n addCells(startRow, headerCells);\n\n // Data rows\n let currentRow = startRow + 1;\n for (const [, entry] of crossTabMap) {\n const cells: string[] = [];\n // Row label\n for (let ri = 0; ri < entry.rowKeys.length; ri++) {\n const cellRef = colIndexToLetter(startCol + ri) + currentRow;\n const strIdx = sharedStrings.register(String(entry.rowKeys[ri]));\n cells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n // Column values for each unique column value\n for (let ci = 0; ci < numColVals; ci++) {\n const colKey = colUniqueVals[ci];\n const colValues = entry.colData.get(colKey);\n const colOffset = rowFieldNames.length + ci;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const result = colValues ? aggregate(colValues[0], subtotal) : 0;\n cells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n // Row total (last column)\n {\n const colOffset = rowFieldNames.length + numColVals;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const result = aggregate(entry.rowTotals[0], subtotal);\n cells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, cells);\n currentRow++;\n }\n\n // Grand total row\n const gtCells: string[] = [];\n const gtStrIdx = sharedStrings.register(\"Grand Total\");\n gtCells.push(\n `<c r=\"${colIndexToLetter(startCol)}${currentRow}\" t=\"s\"><v>${gtStrIdx}</v></c>`,\n );\n for (let ci = 0; ci < numColVals; ci++) {\n const colKey = colUniqueVals[ci];\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const colAllValues: number[] = [];\n for (const record of sourceData.records) {\n const recColKey = colFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n if (recColKey === colKey) {\n const val = record[dataFieldIndices[0]];\n if (typeof val === \"number\") colAllValues.push(val);\n }\n }\n const colOffset = rowFieldNames.length + ci;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const result = aggregate(colAllValues, subtotal);\n gtCells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n // Grand total (bottom-right)\n {\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const allValues = sourceData.records\n .map((r) => r[dataFieldIndices[0]])\n .filter((v): v is number => typeof v === \"number\");\n const colOffset = rowFieldNames.length + numColVals;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const result = aggregate(allValues, subtotal);\n gtCells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, gtCells);\n } else {\n // --- Simple layout (no column fields) ---\n const endCol = startCol + rowFieldNames.length + dataFields.length - 1;\n minCol = Math.min(minCol, startCol);\n maxCol = Math.max(maxCol, endCol);\n\n // Header row\n const headerCells: string[] = [];\n for (const rfName of rowFieldNames) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const strIdx = sharedStrings.register(rfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n for (const df of dataFields) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const subtotal = df.summarize ?? \"sum\";\n const dfName = df.name ?? `${subtotal === \"sum\" ? \"Sum\" : subtotal} of ${df.field}`;\n const strIdx = sharedStrings.register(dfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n addCells(startRow, headerCells);\n\n // Data rows\n let currentRow = startRow + 1;\n for (const [, group] of groupMap) {\n const cells: string[] = [];\n for (let ri = 0; ri < group.keys.length; ri++) {\n const cellRef = colIndexToLetter(startCol + ri) + currentRow;\n const strIdx = sharedStrings.register(String(group.keys[ri]));\n cells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n for (let di = 0; di < dataFields.length; di++) {\n const colOffset = rowFieldNames.length + di;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[di].summarize ?? \"sum\";\n const result = aggregate(group.values[di], subtotal);\n cells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, cells);\n currentRow++;\n }\n\n // Grand total row\n const gtCells: string[] = [];\n const gtStrIdx = sharedStrings.register(\"Grand Total\");\n gtCells.push(\n `<c r=\"${colIndexToLetter(startCol)}${currentRow}\" t=\"s\"><v>${gtStrIdx}</v></c>`,\n );\n for (let di = 0; di < dataFields.length; di++) {\n const colOffset = rowFieldNames.length + di;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[di].summarize ?? \"sum\";\n const allValues = sourceData.records\n .map((r) => r[dataFieldIndices[di]])\n .filter((v): v is number => typeof v === \"number\");\n const result = aggregate(allValues, subtotal);\n gtCells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, gtCells);\n }\n }\n\n if (rowCells.size === 0) return { sheetData: \"\", dimensionRef: \"\" };\n\n // Build sheetData\n const parts: string[] = [\"<sheetData>\"];\n const sortedRows = [...rowCells.entries()].sort((a, b) => a[0] - b[0]);\n for (const [rowIdx, cells] of sortedRows) {\n parts.push(`<row r=\"${rowIdx}\" x14ac:dyDescent=\"0.25\">`);\n for (const c of cells) parts.push(c);\n parts.push(\"</row>\");\n }\n parts.push(\"</sheetData>\");\n\n const dimStartCol = colIndexToLetter(minCol === Infinity ? 0 : minCol);\n const dimStartRow = minRow === Infinity ? 1 : minRow;\n const dimensionRef = `${dimStartCol}${dimStartRow}:${colIndexToLetter(maxCol)}${maxRow}`;\n return { sheetData: parts.join(\"\"), dimensionRef };\n}\n\nfunction colIndexToLetter(col: number): string {\n let result = \"\";\n let n = col + 1;\n while (n > 0) {\n n--;\n result = String.fromCharCode(65 + (n % 26)) + result;\n n = Math.floor(n / 26);\n }\n return result;\n}\n\nfunction columnToLetter(col: number): string {\n let result = \"\";\n let n = col;\n while (n > 0) {\n const remainder = (n - 1) % 26;\n result = String.fromCharCode(65 + remainder) + result;\n n = Math.floor((n - 1) / 26);\n }\n return result;\n}\n","/**\n * Pure function API for generating XLSX files.\n *\n * @module\n */\n\nimport { createPacker, OoxmlMimeType } from \"@office-open/core\";\nimport type { OutputByType, OutputType, PackerOptions } from \"@office-open/core\";\nimport type { WorkbookOptions } from \"@parts/file\";\n\nimport { compileWorkbook } from \"./compiler\";\n\n/** @internal Packer instance for XLSX generation. */\nconst Packer = createPacker<WorkbookOptions>({\n compile: (options, overrides, mediaLevel) => compileWorkbook(options, overrides, mediaLevel),\n mimeType: OoxmlMimeType.XLSX,\n});\n\n/**\n * Generate an XLSX file from pure JSON options.\n *\n * The output format is controlled by `packerOptions.type` (default: `\"nodebuffer\"` → Buffer).\n * For synchronous generation, use {@link generateWorkbookSync}. For streaming, use {@link generateWorkbookStream}.\n *\n * @param options - Workbook options (worksheets, styles, etc.)\n * @param packerOptions - Optional packer configuration (type, compression, overrides, etc.)\n *\n * @example\n * ```typescript\n * import { generateWorkbook } from \"@office-open/xlsx\";\n *\n * const buffer = await generateWorkbook({ worksheets: [...] });\n * const bytes = await generateWorkbook({ worksheets: [...] }, { type: \"uint8array\" });\n * const blob = await generateWorkbook({ worksheets: [...] }, { type: \"blob\" });\n * ```\n */\nexport function generateWorkbook<T extends OutputType = \"nodebuffer\">(\n options: WorkbookOptions,\n packerOptions?: PackerOptions<T>,\n): Promise<OutputByType[T]> {\n return Packer.pack(options, packerOptions) as Promise<OutputByType[T]>;\n}\n\n/**\n * Synchronously generate an XLSX file from pure JSON options.\n */\nexport function generateWorkbookSync<T extends OutputType = \"nodebuffer\">(\n options: WorkbookOptions,\n packerOptions?: PackerOptions<T>,\n): OutputByType[T] {\n return Packer.packSync(options, packerOptions) as OutputByType[T];\n}\n\n/**\n * Generate an XLSX file as a `ReadableStream<Uint8Array>`.\n */\nexport function generateWorkbookStream(\n options: WorkbookOptions,\n packerOptions?: PackerOptions,\n): ReadableStream<Uint8Array> {\n return Packer.toStream(options, packerOptions);\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as WorkbookOptions } from "./file-DQTBkYzl.mjs";
1
+ import { t as WorkbookOptions } from "./file-CgICvJzI.mjs";
2
2
  import { OutputByType, OutputType, PackerOptions } from "@office-open/core";
3
3
 
4
4
  //#region src/generate.d.ts
package/dist/generate.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-n38Ig71o.mjs";
1
+ import { n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-DWMr3rAE.mjs";
2
2
  export { generateWorkbook, generateWorkbookStream, generateWorkbookSync };
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as OleItemOptions, A as worksheetDesc, B as ConsolidateFunction, C as ScenarioOptions, Ct as FontOptions, D as WorksheetContext, Dt as stylesDesc, E as WorksheetChartOptions, Et as StylesDocOptions, F as TotalsRowFunction, G as PivotSourceData, H as PivotDataField, I as tableDesc, J as ExternalCellOptions, K as PivotTableOptions, L as SharedStrings, M as TableOptions, N as TableStyleInfoOptions, O as WorksheetOptions, Ot as CorePropertiesOptions, P as TableType, Q as ExternalSheetDataOptions, R as SharedStringsDocOptions, S as ScenarioDefinition, St as FillOptions, T as SheetProtectionOptions, Tt as Styles, U as PivotFilterOptions, V as PivotCacheDefinitionOptions, W as PivotFilterType, X as ExternalLinkOptions, Y as ExternalDefinedNameOptions, Z as ExternalRowOptions, _ as MergeCellOptions, _t as workbookDesc, a as ColorScaleOptions, at as ChartsheetPageMargins, b as RowOptions, bt as BorderSideOptions, c as ConditionalFormatOptions, ct as chartsheetDesc, d as DataValidationOptions, dt as FileSharingOptions, et as OleLinkOptions, f as FormulaOptions, ft as PivotCacheReference, g as IgnoredErrorOptions, gt as buildTablePartsXml, h as IconSetType, ht as buildExternalReferencesXml, i as CfvoType, it as ChartsheetOptions, j as TableColumnOptions, k as stringifyWorksheet, l as ConditionalFormatRule, lt as CustomWorkbookViewOptions, m as IconSetOptions, mt as WorkbookProtectionOptions, n as CellOptions, nt as ChartsheetDescriptorOptions, o as ColumnOptions, ot as ChartsheetPageSetup, p as FreezePaneOptions, pt as WebPublishingOptions, q as ExternalBookOptions, r as CfvoOptions, rt as ChartsheetHeaderFooterOptions, s as CommentOptions, st as ChartsheetProtectionOptions, t as WorkbookOptions, tt as externalLinkDesc, u as DataBarOptions, ut as FileRecoveryPrOptions, v as PhoneticPrOptions, vt as AlignmentOptions, w as SheetBackgroundImageOptions, wt as StyleOptions, x as ScenarioCellOptions, xt as DxfOptions, y as ProtectedRangeOptions, yt as BorderOptions, z as sharedStringsDesc } from "./file-DQTBkYzl.mjs";
1
+ import { $ as OleItemOptions, A as worksheetDesc, B as ConsolidateFunction, C as ScenarioOptions, Ct as FontOptions, D as WorksheetContext, Dt as stylesDesc, E as WorksheetChartOptions, Et as StylesDocOptions, F as TotalsRowFunction, G as PivotSourceData, H as PivotDataField, I as tableDesc, J as ExternalCellOptions, K as PivotTableOptions, L as SharedStrings, M as TableOptions, N as TableStyleInfoOptions, O as WorksheetOptions, Ot as CorePropertiesOptions, P as TableType, Q as ExternalSheetDataOptions, R as SharedStringsDocOptions, S as ScenarioDefinition, St as FillOptions, T as SheetProtectionOptions, Tt as Styles, U as PivotFilterOptions, V as PivotCacheDefinitionOptions, W as PivotFilterType, X as ExternalLinkOptions, Y as ExternalDefinedNameOptions, Z as ExternalRowOptions, _ as MergeCellOptions, _t as workbookDesc, a as ColorScaleOptions, at as ChartsheetPageMargins, b as RowOptions, bt as BorderSideOptions, c as ConditionalFormatOptions, ct as chartsheetDesc, d as DataValidationOptions, dt as FileSharingOptions, et as OleLinkOptions, f as FormulaOptions, ft as PivotCacheReference, g as IgnoredErrorOptions, gt as buildTablePartsXml, h as IconSetType, ht as buildExternalReferencesXml, i as CfvoType, it as ChartsheetOptions, j as TableColumnOptions, k as stringifyWorksheet, l as ConditionalFormatRule, lt as CustomWorkbookViewOptions, m as IconSetOptions, mt as WorkbookProtectionOptions, n as CellOptions, nt as ChartsheetDescriptorOptions, o as ColumnOptions, ot as ChartsheetPageSetup, p as FreezePaneOptions, pt as WebPublishingOptions, q as ExternalBookOptions, r as CfvoOptions, rt as ChartsheetHeaderFooterOptions, s as CommentOptions, st as ChartsheetProtectionOptions, t as WorkbookOptions, tt as externalLinkDesc, u as DataBarOptions, ut as FileRecoveryPrOptions, v as PhoneticPrOptions, vt as AlignmentOptions, w as SheetBackgroundImageOptions, wt as StyleOptions, x as ScenarioCellOptions, xt as DxfOptions, y as ProtectedRangeOptions, yt as BorderOptions, z as sharedStringsDesc } from "./file-CgICvJzI.mjs";
2
2
  import { generateWorkbook, generateWorkbookStream, generateWorkbookSync } from "./generate.mjs";
3
3
  import { XlsxDocument, XlsxPartRefs, parseWorkbook, parseXlsx } from "./parse.mjs";
4
4
  import { CellPatch, InputDataType, Patch, PatchDocumentOutputType, PatchType, PatchWorkbookOptions, patchWorkbook } from "./patch.mjs";
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { C as Styles, E as sharedStringsDesc, S as worksheetDesc, T as SharedStrings, _ as commentsDesc, a as workbookDesc, b as calcChainDesc, c as tableDesc, d as pivotTableDesc, f as PivotFilterType, g as drawingDesc, h as externalLinkDesc, i as buildTablePartsXml, l as pivotCacheDefDesc, n as XlsxWriteContext, o as TableType, r as buildExternalReferencesXml, s as TotalsRowFunction, t as XlsxReadContext, u as pivotCacheRecordsDesc, v as vmlNotesDesc, w as stylesDesc, x as stringifyWorksheet, y as chartsheetDesc } from "./context-D-5KiTi9.mjs";
2
2
  import { parseWorkbook, parseXlsx } from "./parse.mjs";
3
3
  import { PatchType, patchWorkbook } from "./patch.mjs";
4
- import { i as compileWorkbook, n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-n38Ig71o.mjs";
4
+ import { i as compileWorkbook, n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-DWMr3rAE.mjs";
5
5
  import { createThemeXml } from "@office-open/core/theme";
6
6
  //#region src/shared/media.ts
7
7
  var Media = class {
package/dist/parse.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { t as WorkbookOptions } from "./file-DQTBkYzl.mjs";
1
+ import { t as WorkbookOptions } from "./file-CgICvJzI.mjs";
2
2
  import { Element } from "@office-open/xml";
3
3
  import { DataType, ParsedArchive, parseArchive } from "@office-open/core";
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-open/xlsx",
3
- "version": "0.9.6",
3
+ "version": "0.9.7",
4
4
  "description": "Generate, parse, and patch .xlsx spreadsheets with a declarative TypeScript API",
5
5
  "keywords": [
6
6
  "excel",
@@ -48,8 +48,8 @@
48
48
  }
49
49
  },
50
50
  "dependencies": {
51
- "@office-open/core": "0.9.6",
52
- "@office-open/xml": "0.9.6"
51
+ "@office-open/xml": "0.9.7",
52
+ "@office-open/core": "0.9.7"
53
53
  },
54
54
  "scripts": {
55
55
  "dev": "basis build --stub",
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-n38Ig71o.mjs","names":["buildWorksheetXml"],"sources":["../src/compiler.ts","../src/generate.ts"],"sourcesContent":["/**\n * XLSX Compiler — compiles WorkbookOptions into a Zippable structure.\n *\n * Accepts pure JSON WorkbookOptions — no intermediate File class needed.\n * Uses XlsxWriteContext for shared state (strings, styles, media, charts).\n *\n * @module\n */\n\nimport {\n APP_PROPS_XML,\n Relationships,\n TargetModeType,\n buildCorePropertiesXmlString,\n compileMapping,\n type XmlifyedFile,\n type Zippable,\n} from \"@office-open/core\";\nimport { chartSpaceDesc } from \"@office-open/core/chart\";\nimport type { CalcCell } from \"@parts/calc-chain\";\nimport { calcChainDesc } from \"@parts/calc-chain\";\nimport { chartsheetDesc } from \"@parts/chartsheet\";\nimport { commentsDesc, vmlNotesDesc } from \"@parts/comments\";\nimport type { ImageOptions, ChartAnchorOptions } from \"@parts/drawing\";\nimport { drawingDesc } from \"@parts/drawing\";\nimport { externalLinkDesc } from \"@parts/external-link\";\nimport type { WorkbookOptions } from \"@parts/file\";\nimport { aggregate, collectUniqueValues } from \"@parts/pivot\";\nimport type { PivotSourceData, PivotTableOptions } from \"@parts/pivot\";\nimport { pivotCacheDefDesc, pivotCacheRecordsDesc } from \"@parts/pivot-cache\";\nimport { pivotTableDesc } from \"@parts/pivot-table\";\nimport { sharedStringsDesc } from \"@parts/shared-strings\";\nimport type { SharedStrings } from \"@parts/shared-strings\";\nimport { stylesDesc } from \"@parts/styles\";\nimport { tableDesc } from \"@parts/table\";\nimport { createThemeXml } from \"@parts/theme\";\nimport type { TablePartReference, SheetDefinition } from \"@parts/workbook\";\nimport { workbookDesc, buildTablePartsXml, buildExternalReferencesXml } from \"@parts/workbook\";\nimport { buildWorksheetXml, type WorksheetContext } from \"@parts/worksheet\";\nimport type { RowOptions, WorksheetOptions } from \"@parts/worksheet\";\n\nimport { XlsxWriteContext } from \"./context\";\n\nconst XML_DECL = '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>';\n\n/**\n * Compile workbook options into a Zippable structure.\n */\nexport function compileWorkbook(\n options: WorkbookOptions,\n overrides: XmlifyedFile[] = [],\n mediaLevel: number = 0,\n): Zippable {\n const ctx = new XlsxWriteContext();\n const mapping: Record<string, { data: string; path: string }> = {};\n\n const worksheetConfigs = options.worksheets ?? [];\n const chartsheetConfigs = options.chartsheets ?? [];\n\n // Core properties\n mapping[\"Properties\"] = {\n data: XML_DECL + buildCorePropertiesXmlString(options),\n path: \"docProps/core.xml\",\n };\n\n // App properties\n mapping[\"AppProperties\"] = {\n data: XML_DECL + APP_PROPS_XML,\n path: \"docProps/app.xml\",\n };\n\n // File-level relationships (_rels/.rels)\n const fileRels = buildFileRelationships();\n mapping[\"FileRelationships\"] = {\n data: XML_DECL + fileRels.serialize(),\n path: \"_rels/.rels\",\n };\n\n // Register base content types\n for (let i = 0; i < worksheetConfigs.length; i++) {\n ctx.contentTypes.addWorksheet(i + 1);\n }\n ctx.contentTypes.addStyles();\n ctx.contentTypes.addSharedStrings();\n ctx.contentTypes.addTheme();\n\n // Register predefined DXFs before worksheets use styles\n for (const dxf of options.dxfs ?? []) {\n ctx.registerDxf(dxf);\n }\n\n // Re-apply parsed style sections so a declarative round-trip preserves\n // them (colors, table/cell styles, extensions) alongside DXFs.\n if (options.colors) ctx.styles.setColors(options.colors);\n if (options.tableStyles) ctx.styles.setTableStyles(options.tableStyles);\n if (options.cellStyles) ctx.styles.setCustomCellStyles(options.cellStyles);\n if (options.styleExtensions) ctx.styles.setExtensions(options.styleExtensions);\n\n // Build workbook relationships\n buildWorkbookRelationships(ctx.workbookRels, worksheetConfigs.length, chartsheetConfigs.length);\n\n // Build sheet definitions for workbook XML\n const sheets: SheetDefinition[] = [];\n let sheetId = 1;\n let rId = 1;\n for (const ws of worksheetConfigs) {\n sheets.push({\n name: ws.name ?? `Sheet${sheetId}`,\n sheetId: sheetId++,\n rId: `rId${rId++}`,\n });\n }\n for (const cs of chartsheetConfigs) {\n sheets.push({\n name: cs.name ?? `Chart${sheetId}`,\n sheetId: sheetId++,\n rId: `rId${rId++}`,\n });\n }\n\n // Worksheets — formatted BEFORE SharedStrings so strings are registered\n let globalMediaIdx = 0;\n let globalChartIdx = 0;\n let globalPivotIdx = 0;\n let globalPivotCacheIdx = 0;\n let globalTableIdx = 0;\n const pivotCacheDataMap = new Map<string, { cacheId: number; cacheIdx: number }>();\n const calcCells: CalcCell[] = [];\n const allTableParts: TablePartReference[] = [];\n\n const wsContext: WorksheetContext = { sharedStrings: ctx.sharedStrings, styles: ctx.styles };\n\n for (let i = 0; i < worksheetConfigs.length; i++) {\n const wsOpts = worksheetConfigs[i];\n const imgOpts = wsOpts.images ?? [];\n const chartOpts = wsOpts.charts ?? [];\n const hlOpts = wsOpts.hyperlinks ?? [];\n const sheetName = wsOpts.name ?? `Sheet${i + 1}`;\n\n // Worksheet uses buildWorksheetXml fast path (zero-allocation string concat)\n let sheetXml = buildWorksheetXml(wsOpts, wsContext);\n\n // Collect formula cells for calcChain\n const sheetIdx = i + 1;\n const wsRows = wsOpts.rows ?? [];\n for (let ri = 0; ri < wsRows.length; ri++) {\n const rowOpts = wsRows[ri];\n const rowNumber = rowOpts.rowNumber ?? ri + 1;\n if (!rowOpts.cells) continue;\n for (let ci = 0; ci < rowOpts.cells.length; ci++) {\n const cell = rowOpts.cells[ci];\n if (!cell.formula) continue;\n const ref = cell.reference ?? columnToLetter(ci + 1) + rowNumber;\n calcCells.push({\n reference: ref,\n sheetIndex: sheetIdx,\n array: cell.formula.type === \"array\",\n });\n }\n }\n\n const hasMedia = imgOpts.length > 0 || chartOpts.length > 0;\n const hasExternalHyperlinks = hlOpts.some((h) => h.target.type === \"external\");\n const commentOpts = wsOpts.comments ?? [];\n const hasComments = commentOpts.length > 0;\n const pivotOpts = wsOpts.pivotTables ?? [];\n const hasPivots = pivotOpts.length > 0;\n const tableOpts = wsOpts.tables ?? [];\n const hasTables = tableOpts.length > 0;\n const bgImg = wsOpts.backgroundImage;\n\n // Worksheet-level relationships\n let wsRels: Relationships | undefined;\n let nextRid = 0;\n\n if (hasMedia || hasExternalHyperlinks || hasComments || hasPivots || hasTables || bgImg) {\n wsRels = new Relationships();\n }\n\n if (hasExternalHyperlinks) {\n for (const hl of hlOpts) {\n if (hl.target.type !== \"external\") continue;\n const rid = ++nextRid;\n wsRels!.addRelationship(\n rid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n hl.target.url,\n \"External\",\n );\n }\n }\n\n if (hasMedia) {\n const drawingImages: ImageOptions[] = [];\n const drawingCharts: ChartAnchorOptions[] = [];\n const drawingRels = new Relationships();\n let rid = 1;\n\n // Process images\n for (const img of imgOpts) {\n const mediaKey = `image_${globalMediaIdx}`;\n const ext = img.type === \"jpeg\" || img.type === \"jpg\" ? \"jpeg\" : \"png\";\n ctx.media.addImage(mediaKey, {\n fileName: `image${globalMediaIdx + 1}.${ext}`,\n type: ext,\n data: img.data,\n width: 0,\n height: 0,\n });\n\n drawingRels.addRelationship(\n rid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `../media/image${globalMediaIdx + 1}.${ext}`,\n );\n\n drawingImages.push({\n col: img.col,\n row: img.row,\n rId: `rId${rid}`,\n });\n rid++;\n globalMediaIdx++;\n }\n\n // Process charts\n for (const chart of chartOpts) {\n const chartKey = `chart_${globalChartIdx}`;\n ctx.charts.addChart(chartKey, {\n key: chartKey,\n chartSpaceXml: chartSpaceDesc.stringify(chart, ctx) ?? \"\",\n });\n\n drawingRels.addRelationship(\n rid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n `../charts/chart${globalChartIdx + 1}.xml`,\n );\n\n drawingCharts.push({\n col: chart.col,\n row: chart.row,\n rId: `rId${rid}`,\n });\n rid++;\n globalChartIdx++;\n }\n\n // Generate drawing XML (via descriptor)\n const drawingXml = drawingDesc.stringify(\n { images: drawingImages, charts: drawingCharts },\n ctx,\n );\n const drawingIdx = i + 1;\n mapping[`Drawing${i}`] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${drawingXml}`,\n path: `xl/drawings/drawing${drawingIdx}.xml`,\n };\n\n // Drawing relationships\n mapping[`DrawingRels${i}`] = {\n data: XML_DECL + drawingRels.serialize(),\n path: `xl/drawings/_rels/drawing${drawingIdx}.xml.rels`,\n };\n\n // Insert drawing reference before the closing </worksheet> tag.\n const drawingRid = ++nextRid;\n const closingTag = \"</worksheet>\";\n sheetXml =\n sheetXml.slice(0, -closingTag.length) + `<drawing r:id=\"rId${drawingRid}\"/>` + closingTag;\n\n // Add drawing relationship to worksheet rels\n wsRels!.addRelationship(\n drawingRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n `../drawings/drawing${drawingIdx}.xml`,\n );\n\n ctx.contentTypes.addDrawing(drawingIdx);\n }\n\n // Comments\n if (hasComments) {\n const commentsIdx = i + 1;\n\n // Comments XML (via descriptor)\n const commentsXml = commentsDesc.stringify({ comments: commentOpts }, ctx);\n mapping[`Comments${i}`] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${commentsXml}`,\n path: `xl/comments${commentsIdx}.xml`,\n };\n\n // VML drawing (via descriptor)\n const vmlXml = vmlNotesDesc.stringify({ comments: commentOpts }, ctx);\n mapping[`VmlDrawing${i}`] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${vmlXml}`,\n path: `xl/drawings/vmlDrawing${commentsIdx}.vml`,\n };\n\n // Worksheet rels: comments → comments XML, legacyDrawing → VML file\n const commentsRid = ++nextRid;\n wsRels!.addRelationship(\n commentsRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n `../comments${commentsIdx}.xml`,\n );\n\n const vmlRid = ++nextRid;\n wsRels!.addRelationship(\n vmlRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n `../drawings/vmlDrawing${commentsIdx}.vml`,\n );\n\n // Insert legacyDrawing reference before closing </worksheet>\n const closingTag = \"</worksheet>\";\n sheetXml =\n sheetXml.slice(0, -closingTag.length) + `<legacyDrawing r:id=\"rId${vmlRid}\"/>` + closingTag;\n\n // Register content types\n ctx.contentTypes.addComments(commentsIdx);\n ctx.contentTypes.addVmlDrawing();\n }\n\n // Background picture\n if (bgImg) {\n const ext = bgImg.type === \"jpg\" ? \"jpeg\" : bgImg.type;\n const mediaKey = `bg_${i}`;\n const mediaIdx = globalMediaIdx + 1;\n ctx.media.addImage(mediaKey, {\n fileName: `image${mediaIdx}.${ext}`,\n type: ext,\n data: bgImg.data,\n width: 0,\n height: 0,\n });\n globalMediaIdx++;\n const bgRid = ++nextRid;\n wsRels!.addRelationship(\n bgRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n `../media/image${mediaIdx}.${ext}`,\n );\n sheetXml = sheetXml.replace(\"<!--BACKGROUND_PICTURE-->\", `<picture r:id=\"rId${bgRid}\"/>`);\n }\n\n // Pivot tables\n if (hasPivots) {\n for (const pt of pivotOpts) {\n globalPivotIdx++;\n const pivotIdx = globalPivotIdx;\n\n // Extract source data from source sheet\n const sourceSheet = pt.sourceSheet ?? sheetName;\n const sourceWsIdx = worksheetConfigs.findIndex(\n (ws) => (ws.name ?? `Sheet${worksheetConfigs.indexOf(ws) + 1}`) === sourceSheet,\n );\n if (sourceWsIdx === -1) continue;\n\n const sourceRows = worksheetConfigs[sourceWsIdx].rows ?? [];\n const sourceData = extractPivotSourceData(sourceRows, pt.source);\n\n // Deduplicate pivot caches by source reference\n const cacheKey = `${sourceSheet}:${pt.source}`;\n let cacheId: number;\n let cacheIdx: number;\n const existing = pivotCacheDataMap.get(cacheKey);\n if (existing) {\n cacheId = existing.cacheId;\n cacheIdx = existing.cacheIdx;\n } else {\n globalPivotCacheIdx++;\n cacheIdx = globalPivotCacheIdx;\n cacheId = cacheIdx;\n pivotCacheDataMap.set(cacheKey, { cacheId, cacheIdx });\n\n // Generate pivotCacheDefinition\n const cacheDefRels = new Relationships();\n cacheDefRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords\",\n \"pivotCacheRecords1.xml\",\n );\n\n const cacheDefXml =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>' +\n pivotCacheDefDesc.stringify(\n {\n sourceRef: pt.source.split(\":\")[0] ? pt.source : \"A1\",\n sourceSheet,\n sourceData,\n recordsRid: \"rId1\",\n },\n ctx,\n );\n\n mapping[`PivotCacheDef${cacheIdx}`] = {\n data: cacheDefXml,\n path: `xl/pivotCache/pivotCacheDefinition${cacheIdx}.xml`,\n };\n mapping[`PivotCacheDefRels${cacheIdx}`] = {\n data: XML_DECL + cacheDefRels.serialize(),\n path: `xl/pivotCache/_rels/pivotCacheDefinition${cacheIdx}.xml.rels`,\n };\n\n // Generate pivotCacheRecords\n const cacheRecordsXml =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>' +\n pivotCacheRecordsDesc.stringify({ sourceData }, ctx);\n mapping[`PivotCacheRecords${cacheIdx}`] = {\n data: cacheRecordsXml,\n path: `xl/pivotCache/pivotCacheRecords${cacheIdx}.xml`,\n };\n\n // Content types\n ctx.contentTypes.addPivotCacheDefinition(cacheIdx);\n ctx.contentTypes.addPivotCacheRecords(cacheIdx);\n\n // Register in workbook\n const wbPivotRid = ctx.workbookRels.relationshipCount + 1;\n ctx.workbookRels.addRelationship(\n wbPivotRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition\",\n `pivotCache/pivotCacheDefinition${cacheIdx}.xml`,\n );\n ctx.pivotCacheRefs.push({ cacheId, rId: `rId${wbPivotRid}` });\n }\n\n // Generate pivotTable\n const pivotTableXml =\n XML_DECL + pivotTableDesc.stringify({ options: pt, sourceData, cacheId }, ctx);\n mapping[`PivotTable${pivotIdx}`] = {\n data: pivotTableXml,\n path: `xl/pivotTables/pivotTable${pivotIdx}.xml`,\n };\n\n // pivotTable rels → cacheDefinition\n const ptRels = new Relationships();\n ptRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition\",\n `../pivotCache/pivotCacheDefinition${cacheIdx}.xml`,\n );\n mapping[`PivotTableRels${pivotIdx}`] = {\n data: XML_DECL + ptRels.serialize(),\n path: `xl/pivotTables/_rels/pivotTable${pivotIdx}.xml.rels`,\n };\n\n // Worksheet rels → pivotTable\n const ptRid = ++nextRid;\n wsRels!.addRelationship(\n ptRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable\",\n `../pivotTables/pivotTable${pivotIdx}.xml`,\n );\n\n ctx.contentTypes.addPivotTable(pivotIdx);\n }\n }\n\n // Tables (list objects)\n const wsTableParts: TablePartReference[] = [];\n if (hasTables) {\n for (const tbl of tableOpts) {\n globalTableIdx++;\n const tableIdx = globalTableIdx;\n\n // Generate table XML\n const tableXmlStr =\n '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>' +\n tableDesc.stringify({ ...tbl, id: tbl.id ?? tableIdx }, ctx);\n mapping[`Table${tableIdx}`] = {\n data: tableXmlStr,\n path: `xl/tables/table${tableIdx}.xml`,\n };\n\n // Worksheet rels → table\n const tblRid = ++nextRid;\n wsRels!.addRelationship(\n tblRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table\",\n `../tables/table${tableIdx}.xml`,\n );\n\n wsTableParts.push({ rId: `rId${tblRid}` });\n allTableParts.push({ rId: `rId${tblRid}` });\n\n ctx.contentTypes.addTable(tableIdx);\n }\n }\n\n // Pre-render pivot table data into sheetData\n if (hasPivots) {\n const rendered = renderPivotSheetData(\n pivotOpts,\n worksheetConfigs,\n ctx.sharedStrings,\n sheetName,\n );\n if (rendered.sheetData.length > 0) {\n // Replace empty <sheetData/> or <sheetData></sheetData> with rendered data\n sheetXml = sheetXml.replace(/<sheetData\\/>|<sheetData><\\/sheetData>/, rendered.sheetData);\n // Inject <dimension> before <sheetViews> (XSD sequence order: dimension before sheetViews)\n if (!sheetXml.includes(\"<dimension\")) {\n sheetXml = sheetXml.replace(\n \"<sheetViews\",\n `<dimension ref=\"${rendered.dimensionRef}\"/><sheetViews`,\n );\n }\n }\n }\n\n // Insert tableParts before closing </worksheet> tag\n if (wsTableParts.length > 0) {\n const tablePartsXml = buildTablePartsXml(wsTableParts);\n const closingTag = \"</worksheet>\";\n sheetXml = sheetXml.slice(0, -closingTag.length) + tablePartsXml + closingTag;\n }\n\n // Write worksheet rels if needed\n if (wsRels) {\n mapping[`WorksheetRels${i}`] = {\n data: XML_DECL + wsRels.serialize(),\n path: `xl/worksheets/_rels/sheet${i + 1}.xml.rels`,\n };\n }\n\n mapping[`Worksheet${i}`] = {\n data: sheetXml,\n path: `xl/worksheets/sheet${i + 1}.xml`,\n };\n }\n\n // Chartsheets — chart-only sheets\n for (let i = 0; i < chartsheetConfigs.length; i++) {\n const csOpts = chartsheetConfigs[i];\n\n // Register chart in the charts collection\n const chartDef = csOpts.chart;\n const csChartGlobalIdx = ctx.charts.array.length;\n const csChartKey = `cs_chart_${csChartGlobalIdx}`;\n ctx.charts.addChart(csChartKey, {\n key: csChartKey,\n chartSpaceXml:\n chartSpaceDesc.stringify(\n {\n type: chartDef.type as\n | \"column\"\n | \"bar\"\n | \"line\"\n | \"pie\"\n | \"doughnut\"\n | \"area\"\n | \"scatter\"\n | \"bubble\",\n title: chartDef.title,\n categories: chartDef.categories,\n series: chartDef.series,\n },\n ctx,\n ) ?? \"\",\n });\n\n // Chartsheet relationships: drawing (required)\n const csRels = new Relationships();\n const csDrawingIdx = i + 1;\n csRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n `../drawings/drawing${csDrawingIdx}.xml`,\n );\n\n // Drawing rels: chart reference\n const csDrawingRels = new Relationships();\n csDrawingRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n `../charts/chart${csChartGlobalIdx + 1}.xml`,\n );\n\n // Minimal drawing XML with chart anchor\n const csDrawingXml =\n `<xdr:wsDr xmlns:xdr=\"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">` +\n `<xdr:absoluteAnchor>` +\n `<xdr:pos x=\"0\" y=\"0\"/>` +\n `<xdr:ext cx=\"9308969\" cy=\"6096000\"/>` +\n `<xdr:graphicFrame>` +\n `<xdr:nvGraphicFramePr><xdr:cNvPr id=\"1\" name=\"Chart ${i + 1}\"/><xdr:cNvGraphicFramePr><a:graphicFrameLocks noGrp=\"1\"/></xdr:cNvGraphicFramePr></xdr:nvGraphicFramePr>` +\n `<xdr:xfrm><a:off x=\"0\" y=\"0\"/><a:ext cx=\"9308969\" cy=\"6096000\"/></xdr:xfrm>` +\n `<a:graphic><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/chart\"><c:chart xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" r:id=\"rId1\"/></a:graphicData></a:graphic>` +\n `</xdr:graphicFrame>` +\n `<xdr:clientData/>` +\n `</xdr:absoluteAnchor>` +\n `</xdr:wsDr>`;\n\n mapping[`ChartsheetDrawing${i}`] = {\n data: csDrawingXml,\n path: `xl/drawings/drawing${csDrawingIdx}.xml`,\n };\n mapping[`ChartsheetDrawingRels${i}`] = {\n data: XML_DECL + csDrawingRels.serialize(),\n path: `xl/drawings/_rels/drawing${csDrawingIdx}.xml.rels`,\n };\n ctx.contentTypes.addDrawing(csDrawingIdx);\n\n mapping[`ChartsheetRels${i}`] = {\n data: XML_DECL + csRels.serialize(),\n path: `xl/chartsheets/_rels/sheet${i + 1}.xml.rels`,\n };\n mapping[`Chartsheet${i}`] = {\n data: XML_DECL + chartsheetDesc.stringify({ ...csOpts, drawingRId: \"rId1\" }, ctx),\n path: `xl/chartsheets/sheet${i + 1}.xml`,\n };\n ctx.contentTypes.addChartsheet(i + 1);\n }\n\n // Workbook XML (via descriptor)\n let wbXml =\n workbookDesc.stringify(\n {\n sheets,\n pivotCaches: ctx.pivotCacheRefs,\n protection: options.workbookProtection,\n customViews: options.customWorkbookViews,\n fileRecoveryPr: options.fileRecoveryPr,\n functionGroups: options.functionGroups,\n webPublishing: options.webPublishing,\n fileSharing: options.fileSharing,\n volTypes: options.volTypes,\n webPublishObjects: options.webPublishObjects,\n },\n ctx,\n ) ?? \"\";\n\n // External links — generate XML files and inject externalReferences into workbook\n const extLinks = options.externalLinks ?? [];\n if (extLinks.length > 0) {\n const extRefs: { rId: string }[] = [];\n for (let ei = 0; ei < extLinks.length; ei++) {\n const elIdx = ei + 1;\n const elRid = ctx.workbookRels.relationshipCount + 1;\n ctx.workbookRels.addRelationship(\n elRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n `externalLinks/externalLink${elIdx}.xml`,\n );\n\n // Create the rels file for this external link\n const elOpts = extLinks[ei];\n let bookRId: string | undefined;\n if (elOpts.externalBook?.target) {\n const elRels = new Relationships();\n elRels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n elOpts.externalBook.target,\n TargetModeType.EXTERNAL,\n );\n bookRId = \"rId1\";\n mapping[`ExternalLinkRels${elIdx}`] = {\n data: XML_DECL + elRels.serialize(),\n path: `xl/externalLinks/_rels/externalLink${elIdx}.xml.rels`,\n };\n }\n\n // Generate the external link XML\n mapping[`ExternalLink${elIdx}`] = {\n data: XML_DECL + externalLinkDesc.stringify({ ...elOpts, bookRId }, ctx),\n path: `xl/externalLinks/externalLink${elIdx}.xml`,\n };\n\n extRefs.push({ rId: `rId${elRid}` });\n ctx.contentTypes.addExternalLink(elIdx);\n }\n\n // Inject externalReferences into workbook XML\n const extRefsXml = buildExternalReferencesXml(extRefs);\n wbXml = wbXml.replace(\"<!--EXTERNAL_REFS-->\", extRefsXml);\n } else {\n wbXml = wbXml.replace(\"<!--EXTERNAL_REFS-->\", \"\");\n }\n\n mapping[\"Workbook\"] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${wbXml}`,\n path: \"xl/workbook.xml\",\n };\n\n // Workbook relationships\n mapping[\"WorkbookRelationships\"] = {\n data: XML_DECL + ctx.workbookRels.serialize(),\n path: \"xl/_rels/workbook.xml.rels\",\n };\n\n // Shared Strings — AFTER worksheets so all strings are collected\n if (ctx.sharedStrings.count > 0) {\n const ssXml = sharedStringsDesc.stringify(ctx.sharedStrings.toDescriptorOptions(), ctx);\n mapping[\"SharedStrings\"] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${ssXml}`,\n path: \"xl/sharedStrings.xml\",\n };\n }\n\n // Styles (via descriptor — delegates to Styles.toXml internally)\n const stylesXml = stylesDesc.stringify({ styles: ctx.styles }, ctx);\n mapping[\"Styles\"] = {\n data: `<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>${stylesXml}`,\n path: \"xl/styles.xml\",\n };\n\n // Theme\n mapping[\"Theme\"] = {\n data: XML_DECL + createThemeXml(),\n path: \"xl/theme/theme1.xml\",\n };\n\n // Charts — AFTER worksheets so charts are registered\n for (let i = 0; i < ctx.charts.array.length; i++) {\n const chartData = ctx.charts.array[i];\n mapping[`Chart${i}`] = {\n data: XML_DECL + chartData.chartSpaceXml,\n path: `xl/charts/chart${i + 1}.xml`,\n };\n ctx.contentTypes.addChart(i + 1);\n }\n\n // Calculation chain — auto-generated from formula cells\n if (calcCells.length > 0) {\n mapping[\"CalcChain\"] = {\n data: calcChainDesc.stringify({ cells: calcCells }, ctx) ?? \"\",\n path: \"xl/calcChain.xml\",\n };\n ctx.contentTypes.addCalcChain();\n const calcChainRid = ctx.workbookRels.relationshipCount + 1;\n ctx.workbookRels.addRelationship(\n calcChainRid,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain\",\n \"calcChain.xml\",\n );\n }\n\n // Register image content types\n const imageExts = new Set<string>();\n for (const img of ctx.media.array) {\n const ext = img.fileName.endsWith(\".png\") ? \"png\" : \"jpeg\";\n if (!imageExts.has(ext)) {\n imageExts.add(ext);\n ctx.contentTypes.addImageType(ext as \"png\" | \"jpeg\");\n }\n }\n\n // Content Types — must be last\n mapping[\"ContentTypes\"] = {\n data: XML_DECL + ctx.contentTypes.serialize(),\n path: \"[Content_Types].xml\",\n };\n\n // Convert mapping to Zippable\n const mediaFiles: Array<{ data: Uint8Array; path: string }> = [];\n for (const img of ctx.media.array) {\n mediaFiles.push({ data: img.data, path: `xl/media/${img.fileName}` });\n }\n\n return compileMapping(mapping, overrides, mediaFiles, mediaLevel);\n}\n\n// ── Pure helper functions ──\n\nfunction buildFileRelationships(): Relationships {\n const rels = new Relationships();\n rels.addRelationship(\n 1,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n \"xl/workbook.xml\",\n );\n rels.addRelationship(\n 2,\n \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n \"docProps/core.xml\",\n );\n rels.addRelationship(\n 3,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties\",\n \"docProps/app.xml\",\n );\n return rels;\n}\n\nfunction buildWorkbookRelationships(rels: Relationships, wsCount: number, csCount: number): void {\n let rid = 1;\n for (let i = 0; i < wsCount; i++) {\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n `worksheets/sheet${i + 1}.xml`,\n );\n }\n for (let i = 0; i < csCount; i++) {\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n `chartsheets/sheet${i + 1}.xml`,\n );\n }\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n \"styles.xml\",\n );\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n \"theme/theme1.xml\",\n );\n rels.addRelationship(\n rid++,\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n \"sharedStrings.xml\",\n );\n}\n\nfunction extractPivotSourceData(rows: RowOptions[], sourceRef: string): PivotSourceData {\n const parts = sourceRef.split(\":\");\n const startMatch = parts[0]?.match(/^([A-Z]+)(\\d+)$/);\n const endMatch = parts[1]?.match(/^([A-Z]+)(\\d+)$/);\n if (!startMatch) {\n return { fieldNames: [], records: [] };\n }\n\n const startRow = parseInt(startMatch[2], 10) - 1;\n const endRow = endMatch ? parseInt(endMatch[2], 10) - 1 : startRow;\n const startCol = colLetterToIndex(startMatch[1]);\n const endCol = endMatch ? colLetterToIndex(endMatch[1]) : startCol;\n const colCount = endCol - startCol + 1;\n\n // First row is headers\n const headerRow = rows[startRow];\n const fieldNames: string[] = [];\n if (headerRow?.cells) {\n for (let c = startCol; c <= endCol && c < headerRow.cells.length; c++) {\n const hv = headerRow.cells[c]?.value;\n fieldNames.push(\n typeof hv === \"string\"\n ? hv\n : typeof hv === \"number\" || typeof hv === \"boolean\"\n ? String(hv)\n : `Col${c}`,\n );\n }\n }\n\n // Remaining rows are data\n const records: (string | number)[][] = [];\n for (let r = startRow + 1; r <= endRow; r++) {\n const row = rows[r];\n if (!row?.cells) continue;\n const record: (string | number)[] = [];\n for (let c = startCol; c <= endCol; c++) {\n const val = row.cells[c]?.value;\n if (typeof val === \"number\") {\n record.push(val);\n } else if (val instanceof Date) {\n record.push(val.getTime());\n } else {\n record.push(typeof val === \"string\" ? val : typeof val === \"boolean\" ? String(val) : \"\");\n }\n }\n if (record.length === colCount) {\n records.push(record);\n }\n }\n\n return { fieldNames, records };\n}\n\nfunction colLetterToIndex(letters: string): number {\n let col = 0;\n for (let i = 0; i < letters.length; i++) {\n col = col * 26 + (letters.charCodeAt(i) - 64);\n }\n return col - 1;\n}\n\nfunction renderPivotSheetData(\n pivotOpts: PivotTableOptions[],\n worksheetConfigs: WorksheetOptions[],\n sharedStrings: SharedStrings,\n currentSheetName: string,\n): { sheetData: string; dimensionRef: string } {\n const rowCells = new Map<number, string[]>();\n let maxRow = 0;\n let maxCol = 0;\n let minRow = Infinity;\n let minCol = Infinity;\n\n for (const pt of pivotOpts) {\n const location = pt.location ?? \"A3\";\n const locMatch = location.match(/^([A-Z]+)(\\d+)$/);\n if (!locMatch) continue;\n\n const startCol = colLetterToIndex(locMatch[1]);\n const startRow = parseInt(locMatch[2], 10);\n const rowFieldNames = pt.rows;\n const dataFields = pt.data;\n\n const sourceSheetName = pt.sourceSheet ?? currentSheetName;\n const sourceWsIdx = worksheetConfigs.findIndex(\n (ws) => (ws.name ?? `Sheet${worksheetConfigs.indexOf(ws) + 1}`) === sourceSheetName,\n );\n if (sourceWsIdx === -1) continue;\n\n const sourceRows = worksheetConfigs[sourceWsIdx]?.rows ?? [];\n const sourceData = extractPivotSourceData(sourceRows, pt.source);\n if (sourceData.fieldNames.length === 0) continue;\n\n const fields = sourceData.fieldNames;\n const rowFieldIndices = rowFieldNames.map((n) => fields.indexOf(n));\n const dataFieldIndices = dataFields.map((df) => fields.indexOf(df.field));\n\n if (rowFieldIndices.some((idx) => idx === -1)) continue;\n if (dataFieldIndices.some((idx) => idx === -1)) continue;\n\n // Group records by row field values\n const groupMap = new Map<string, { keys: (string | number)[]; values: number[][] }>();\n for (const record of sourceData.records) {\n const groupKey = rowFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n let group = groupMap.get(groupKey);\n if (!group) {\n group = {\n keys: rowFieldIndices.map((fi) => {\n const v = record[fi];\n return typeof v === \"string\" || typeof v === \"number\" ? v : String(v ?? \"\");\n }),\n values: dataFieldIndices.map(() => []),\n };\n groupMap.set(groupKey, group);\n }\n for (let di = 0; di < dataFieldIndices.length; di++) {\n const val = record[dataFieldIndices[di]];\n if (typeof val === \"number\") {\n group.values[di].push(val);\n }\n }\n }\n\n // Column field info for cross-tab layout\n const colFieldNames = pt.columns ?? [];\n const colFieldIndices = colFieldNames.map((n) => fields.indexOf(n));\n\n const addCells = (rowIdx: number, cells: string[]) => {\n let arr = rowCells.get(rowIdx);\n if (!arr) {\n arr = [];\n rowCells.set(rowIdx, arr);\n }\n for (const c of cells) arr.push(c);\n minRow = Math.min(minRow, rowIdx);\n maxRow = Math.max(maxRow, rowIdx);\n };\n\n if (colFieldIndices.length > 0 && !colFieldIndices.some((idx) => idx === -1)) {\n // --- Cross-tab layout (with column fields) ---\n // Unique column values for the first column field\n const colUniqueVals = collectUniqueValues(sourceData.records, colFieldIndices[0]).map((v) =>\n typeof v === \"string\" || typeof v === \"number\" ? String(v) : String(v ?? \"\"),\n );\n\n // Build cross-tab map: rowKey → colKey → aggregated values per data field\n const crossTabMap = new Map<\n string,\n { rowKeys: (string | number)[]; colData: Map<string, number[][]>; rowTotals: number[][] }\n >();\n for (const record of sourceData.records) {\n const rowKey = rowFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n const colKey = colFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n let entry = crossTabMap.get(rowKey);\n if (!entry) {\n entry = {\n rowKeys: rowFieldIndices.map((fi) => {\n const v = record[fi];\n return typeof v === \"string\" || typeof v === \"number\" ? v : String(v ?? \"\");\n }),\n colData: new Map(),\n rowTotals: dataFieldIndices.map(() => []),\n };\n crossTabMap.set(rowKey, entry);\n }\n let colValues = entry.colData.get(colKey);\n if (!colValues) {\n colValues = dataFieldIndices.map(() => []);\n entry.colData.set(colKey, colValues);\n }\n for (let di = 0; di < dataFieldIndices.length; di++) {\n const val = record[dataFieldIndices[di]];\n if (typeof val === \"number\") {\n colValues[di].push(val);\n entry.rowTotals[di].push(val);\n }\n }\n }\n\n // Column count: row fields + column unique values + 1 (grand total column)\n const numColVals = colUniqueVals.length;\n const totalCols = rowFieldNames.length + numColVals + 1;\n const endCol = startCol + totalCols - 1;\n minCol = Math.min(minCol, startCol);\n maxCol = Math.max(maxCol, endCol);\n\n // Header row: [rowFieldName(s), ...colUniqueVals, dataFieldName or \"Grand Total\"]\n const headerCells: string[] = [];\n for (const rfName of rowFieldNames) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const strIdx = sharedStrings.register(rfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n for (const cv of colUniqueVals) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const strIdx = sharedStrings.register(cv);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n // Last header cell: data field name (e.g., \"Total Revenue\")\n {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const df0 = dataFields[0];\n const subtotal = df0.summarize ?? \"sum\";\n const dfName = df0.name ?? `${subtotal === \"sum\" ? \"Sum\" : subtotal} of ${df0.field}`;\n const strIdx = sharedStrings.register(dfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n addCells(startRow, headerCells);\n\n // Data rows\n let currentRow = startRow + 1;\n for (const [, entry] of crossTabMap) {\n const cells: string[] = [];\n // Row label\n for (let ri = 0; ri < entry.rowKeys.length; ri++) {\n const cellRef = colIndexToLetter(startCol + ri) + currentRow;\n const strIdx = sharedStrings.register(String(entry.rowKeys[ri]));\n cells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n // Column values for each unique column value\n for (let ci = 0; ci < numColVals; ci++) {\n const colKey = colUniqueVals[ci];\n const colValues = entry.colData.get(colKey);\n const colOffset = rowFieldNames.length + ci;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const result = colValues ? aggregate(colValues[0], subtotal) : 0;\n cells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n // Row total (last column)\n {\n const colOffset = rowFieldNames.length + numColVals;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const result = aggregate(entry.rowTotals[0], subtotal);\n cells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, cells);\n currentRow++;\n }\n\n // Grand total row\n const gtCells: string[] = [];\n const gtStrIdx = sharedStrings.register(\"Grand Total\");\n gtCells.push(\n `<c r=\"${colIndexToLetter(startCol)}${currentRow}\" t=\"s\"><v>${gtStrIdx}</v></c>`,\n );\n for (let ci = 0; ci < numColVals; ci++) {\n const colKey = colUniqueVals[ci];\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const colAllValues: number[] = [];\n for (const record of sourceData.records) {\n const recColKey = colFieldIndices.map((fi) => String(record[fi])).join(\"|\");\n if (recColKey === colKey) {\n const val = record[dataFieldIndices[0]];\n if (typeof val === \"number\") colAllValues.push(val);\n }\n }\n const colOffset = rowFieldNames.length + ci;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const result = aggregate(colAllValues, subtotal);\n gtCells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n // Grand total (bottom-right)\n {\n const subtotal = dataFields[0].summarize ?? \"sum\";\n const allValues = sourceData.records\n .map((r) => r[dataFieldIndices[0]])\n .filter((v): v is number => typeof v === \"number\");\n const colOffset = rowFieldNames.length + numColVals;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const result = aggregate(allValues, subtotal);\n gtCells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, gtCells);\n } else {\n // --- Simple layout (no column fields) ---\n const endCol = startCol + rowFieldNames.length + dataFields.length - 1;\n minCol = Math.min(minCol, startCol);\n maxCol = Math.max(maxCol, endCol);\n\n // Header row\n const headerCells: string[] = [];\n for (const rfName of rowFieldNames) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const strIdx = sharedStrings.register(rfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n for (const df of dataFields) {\n const cellRef = colIndexToLetter(startCol + headerCells.length) + startRow;\n const subtotal = df.summarize ?? \"sum\";\n const dfName = df.name ?? `${subtotal === \"sum\" ? \"Sum\" : subtotal} of ${df.field}`;\n const strIdx = sharedStrings.register(dfName);\n headerCells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n addCells(startRow, headerCells);\n\n // Data rows\n let currentRow = startRow + 1;\n for (const [, group] of groupMap) {\n const cells: string[] = [];\n for (let ri = 0; ri < group.keys.length; ri++) {\n const cellRef = colIndexToLetter(startCol + ri) + currentRow;\n const strIdx = sharedStrings.register(String(group.keys[ri]));\n cells.push(`<c r=\"${cellRef}\" t=\"s\"><v>${strIdx}</v></c>`);\n }\n for (let di = 0; di < dataFields.length; di++) {\n const colOffset = rowFieldNames.length + di;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[di].summarize ?? \"sum\";\n const result = aggregate(group.values[di], subtotal);\n cells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, cells);\n currentRow++;\n }\n\n // Grand total row\n const gtCells: string[] = [];\n const gtStrIdx = sharedStrings.register(\"Grand Total\");\n gtCells.push(\n `<c r=\"${colIndexToLetter(startCol)}${currentRow}\" t=\"s\"><v>${gtStrIdx}</v></c>`,\n );\n for (let di = 0; di < dataFields.length; di++) {\n const colOffset = rowFieldNames.length + di;\n const cellRef = colIndexToLetter(startCol + colOffset) + currentRow;\n const subtotal = dataFields[di].summarize ?? \"sum\";\n const allValues = sourceData.records\n .map((r) => r[dataFieldIndices[di]])\n .filter((v): v is number => typeof v === \"number\");\n const result = aggregate(allValues, subtotal);\n gtCells.push(`<c r=\"${cellRef}\"><v>${result}</v></c>`);\n }\n addCells(currentRow, gtCells);\n }\n }\n\n if (rowCells.size === 0) return { sheetData: \"\", dimensionRef: \"\" };\n\n // Build sheetData\n const parts: string[] = [\"<sheetData>\"];\n const sortedRows = [...rowCells.entries()].sort((a, b) => a[0] - b[0]);\n for (const [rowIdx, cells] of sortedRows) {\n parts.push(`<row r=\"${rowIdx}\" x14ac:dyDescent=\"0.25\">`);\n for (const c of cells) parts.push(c);\n parts.push(\"</row>\");\n }\n parts.push(\"</sheetData>\");\n\n const dimStartCol = colIndexToLetter(minCol === Infinity ? 0 : minCol);\n const dimStartRow = minRow === Infinity ? 1 : minRow;\n const dimensionRef = `${dimStartCol}${dimStartRow}:${colIndexToLetter(maxCol)}${maxRow}`;\n return { sheetData: parts.join(\"\"), dimensionRef };\n}\n\nfunction colIndexToLetter(col: number): string {\n let result = \"\";\n let n = col + 1;\n while (n > 0) {\n n--;\n result = String.fromCharCode(65 + (n % 26)) + result;\n n = Math.floor(n / 26);\n }\n return result;\n}\n\nfunction columnToLetter(col: number): string {\n let result = \"\";\n let n = col;\n while (n > 0) {\n const remainder = (n - 1) % 26;\n result = String.fromCharCode(65 + remainder) + result;\n n = Math.floor((n - 1) / 26);\n }\n return result;\n}\n","/**\n * Pure function API for generating XLSX files.\n *\n * @module\n */\n\nimport { createPacker, OoxmlMimeType } from \"@office-open/core\";\nimport type { OutputByType, OutputType, PackerOptions } from \"@office-open/core\";\nimport type { WorkbookOptions } from \"@parts/file\";\n\nimport { compileWorkbook } from \"./compiler\";\n\n/** @internal Packer instance for XLSX generation. */\nconst Packer = createPacker<WorkbookOptions>({\n compile: (options, overrides, mediaLevel) => compileWorkbook(options, overrides, mediaLevel),\n mimeType: OoxmlMimeType.XLSX,\n});\n\n/**\n * Generate an XLSX file from pure JSON options.\n *\n * The output format is controlled by `packerOptions.type` (default: `\"nodebuffer\"` → Buffer).\n * For synchronous generation, use {@link generateWorkbookSync}. For streaming, use {@link generateWorkbookStream}.\n *\n * @param options - Workbook options (worksheets, styles, etc.)\n * @param packerOptions - Optional packer configuration (type, compression, overrides, etc.)\n *\n * @example\n * ```typescript\n * import { generateWorkbook } from \"@office-open/xlsx\";\n *\n * const buffer = await generateWorkbook({ worksheets: [...] });\n * const bytes = await generateWorkbook({ worksheets: [...] }, { type: \"uint8array\" });\n * const blob = await generateWorkbook({ worksheets: [...] }, { type: \"blob\" });\n * ```\n */\nexport function generateWorkbook<T extends OutputType = \"nodebuffer\">(\n options: WorkbookOptions,\n packerOptions?: PackerOptions<T>,\n): Promise<OutputByType[T]> {\n return Packer.pack(options, packerOptions) as Promise<OutputByType[T]>;\n}\n\n/**\n * Synchronously generate an XLSX file from pure JSON options.\n */\nexport function generateWorkbookSync<T extends OutputType = \"nodebuffer\">(\n options: WorkbookOptions,\n packerOptions?: PackerOptions<T>,\n): OutputByType[T] {\n return Packer.packSync(options, packerOptions) as OutputByType[T];\n}\n\n/**\n * Generate an XLSX file as a `ReadableStream<Uint8Array>`.\n */\nexport function generateWorkbookStream(\n options: WorkbookOptions,\n packerOptions?: PackerOptions,\n): ReadableStream<Uint8Array> {\n return Packer.toStream(options, packerOptions);\n}\n"],"mappings":"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"}