@office-open/xlsx 0.9.3 → 0.9.5

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.
@@ -1297,6 +1297,7 @@ interface PageSetupOptions {
1297
1297
  cellComments?: "none" | "asDisplayed" | "atEnd";
1298
1298
  errors?: "displayed" | "blank" | "dash" | "NA";
1299
1299
  autoPageBreaks?: boolean;
1300
+ fitToPage?: boolean;
1300
1301
  }
1301
1302
  interface TabColorOptions {
1302
1303
  rgb?: string;
@@ -1497,6 +1498,8 @@ interface SheetPrOptions {
1497
1498
  enableFormatConditionsCalculation?: boolean;
1498
1499
  outlineApplyStyles?: boolean;
1499
1500
  outlineShowSymbols?: boolean;
1501
+ outlineSummaryBelow?: boolean;
1502
+ outlineSummaryRight?: boolean;
1500
1503
  }
1501
1504
  interface IgnoredErrorOptions {
1502
1505
  sqref: string;
@@ -1687,5 +1690,25 @@ interface WorksheetContext {
1687
1690
  declare const worksheetDesc: CustomDescriptor<WorksheetOptions>;
1688
1691
  declare function stringifyWorksheet(opts: WorksheetOptions, ctx: WorksheetContext): string;
1689
1692
  //#endregion
1690
- export { OleLinkOptions as $, TableColumnOptions as A, PivotCacheDefinitionOptions as B, SheetBackgroundImageOptions as C, FillOptions as Ct, WorksheetOptions as D, StylesDocOptions as Dt, WorksheetContext as E, Styles as Et, tableDesc as F, PivotTableOptions as G, PivotFilterOptions as H, SharedStrings as I, ExternalDefinedNameOptions as J, ExternalBookOptions as K, SharedStringsDocOptions as L, TableStyleInfoOptions as M, TableType as N, stringifyWorksheet as O, stylesDesc as Ot, TotalsRowFunction as P, OleItemOptions as Q, sharedStringsDesc as R, ScenarioOptions as S, DxfOptions as St, WorksheetChartOptions as T, StyleOptions as Tt, PivotFilterType as U, PivotDataField as V, PivotSourceData as W, ExternalRowOptions as X, ExternalLinkOptions as Y, ExternalSheetDataOptions as Z, PhoneticPrOptions as _, buildTablePartsXml as _t, ColumnOptions as a, ChartsheetPageSetup as at, ScenarioCellOptions as b, BorderOptions as bt, ConditionalFormatRule as c, CustomWorkbookViewOptions as ct, FormulaOptions as d, PivotCacheReference as dt, externalLinkDesc as et, FreezePaneOptions as f, VolTypeOptions as ft, MergeCellOptions as g, buildExternalReferencesXml as gt, IgnoredErrorOptions as h, WorkbookProtectionOptions as ht, ColorScaleOptions as i, ChartsheetPageMargins as it, TableOptions as j, worksheetDesc as k, CorePropertiesOptions as kt, DataBarOptions as l, FileRecoveryPrOptions as lt, IconSetType as m, WebPublishingOptions as mt, CfvoOptions as n, ChartsheetHeaderFooterOptions as nt, CommentOptions as o, ChartsheetProtectionOptions as ot, IconSetOptions as p, WebPublishObjectOptions as pt, ExternalCellOptions as q, CfvoType as r, ChartsheetOptions as rt, ConditionalFormatOptions as s, chartsheetDesc as st, CellOptions as t, ChartsheetDescriptorOptions as tt, DataValidationOptions as u, FileSharingOptions as ut, ProtectedRangeOptions as v, workbookDesc as vt, SheetProtectionOptions as w, FontOptions as wt, ScenarioDefinition as x, BorderSideOptions as xt, RowOptions as y, AlignmentOptions as yt, ConsolidateFunction as z };
1691
- //# sourceMappingURL=worksheet--3Qbjk4x.d.mts.map
1693
+ //#region src/parts/file.d.ts
1694
+ interface WorkbookOptions extends CorePropertiesOptions {
1695
+ worksheets?: WorksheetOptions[];
1696
+ chartsheets?: ChartsheetOptions[];
1697
+ dxfs?: DxfOptions[];
1698
+ colors?: ColorsOptions;
1699
+ tableStyles?: CustomTableStyleOptions[];
1700
+ cellStyles?: CustomCellStyleOptions[];
1701
+ styleExtensions?: StyleExtensionOptions[];
1702
+ workbookProtection?: WorkbookProtectionOptions;
1703
+ externalLinks?: ExternalLinkOptions[];
1704
+ customWorkbookViews?: CustomWorkbookViewOptions[];
1705
+ fileRecoveryPr?: FileRecoveryPrOptions;
1706
+ functionGroups?: string[];
1707
+ webPublishing?: WebPublishingOptions;
1708
+ fileSharing?: FileSharingOptions;
1709
+ volTypes?: VolTypeOptions[];
1710
+ webPublishObjects?: WebPublishObjectOptions[];
1711
+ }
1712
+ //#endregion
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
@@ -0,0 +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,4 +1,4 @@
1
- import { E as sharedStringsDesc, _ as commentsDesc, a as workbookDesc, b as calcChainDesc, c as tableDesc, d as pivotTableDesc, g as drawingDesc, h as externalLinkDesc, i as buildTablePartsXml, l as pivotCacheDefDesc, m as collectUniqueValues, n as XlsxWriteContext, p as aggregate, r as buildExternalReferencesXml, u as pivotCacheRecordsDesc, v as vmlNotesDesc, w as stylesDesc, x as stringifyWorksheet, y as chartsheetDesc } from "./context-BXK92u5G.mjs";
1
+ import { E as sharedStringsDesc, _ as commentsDesc, a as workbookDesc, b as calcChainDesc, c as tableDesc, d as pivotTableDesc, g as drawingDesc, h as externalLinkDesc, i as buildTablePartsXml, l as pivotCacheDefDesc, m as collectUniqueValues, n as XlsxWriteContext, p as aggregate, r as buildExternalReferencesXml, u as pivotCacheRecordsDesc, v as vmlNotesDesc, w as stylesDesc, x as stringifyWorksheet, y as chartsheetDesc } from "./context-ChKe3x0r.mjs";
2
2
  import { APP_PROPS_XML, OoxmlMimeType, Relationships, TargetModeType, buildCorePropertiesXmlString, compileMapping, createPacker } from "@office-open/core";
3
3
  import { createThemeXml } from "@office-open/core/theme";
4
4
  import { chartSpaceDesc } from "@office-open/core/chart";
@@ -37,6 +37,10 @@ function compileWorkbook(options, overrides = [], mediaLevel = 0) {
37
37
  ctx.contentTypes.addSharedStrings();
38
38
  ctx.contentTypes.addTheme();
39
39
  for (const dxf of options.dxfs ?? []) ctx.registerDxf(dxf);
40
+ if (options.colors) ctx.styles.setColors(options.colors);
41
+ if (options.tableStyles) ctx.styles.setTableStyles(options.tableStyles);
42
+ if (options.cellStyles) ctx.styles.setCustomCellStyles(options.cellStyles);
43
+ if (options.styleExtensions) ctx.styles.setExtensions(options.styleExtensions);
40
44
  buildWorkbookRelationships(ctx.workbookRels, worksheetConfigs.length, chartsheetConfigs.length);
41
45
  const sheets = [];
42
46
  let sheetId = 1;
@@ -793,4 +797,4 @@ function generateWorkbookStream(options, packerOptions) {
793
797
  //#endregion
794
798
  export { compileWorkbook as i, generateWorkbookStream as n, generateWorkbookSync as r, generateWorkbook as t };
795
799
 
796
- //# sourceMappingURL=generate-BqlKnMiw.mjs.map
800
+ //# sourceMappingURL=generate-DGqFsuiZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-DGqFsuiZ.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 arr.push(...cells);\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 parts.push(...cells);\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,2 +1,10 @@
1
- import { n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-DJhsIF31.mjs";
2
- export { generateWorkbook, generateWorkbookStream, generateWorkbookSync };
1
+ import { t as WorkbookOptions } from "./file-DQTBkYzl.mjs";
2
+ import { OutputByType, OutputType, PackerOptions } from "@office-open/core";
3
+
4
+ //#region src/generate.d.ts
5
+ declare function generateWorkbook<T extends OutputType = "nodebuffer">(options: WorkbookOptions, packerOptions?: PackerOptions<T>): Promise<OutputByType[T]>;
6
+ declare function generateWorkbookSync<T extends OutputType = "nodebuffer">(options: WorkbookOptions, packerOptions?: PackerOptions<T>): OutputByType[T];
7
+ declare function generateWorkbookStream(options: WorkbookOptions, packerOptions?: PackerOptions): ReadableStream<Uint8Array>;
8
+ //#endregion
9
+ export { generateWorkbook, generateWorkbookStream, generateWorkbookSync };
10
+ //# sourceMappingURL=generate.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.mts","names":[],"sources":["../src/generate.ts"],"mappings":";;;;iBAoCgB,gBAAA,WAA2B,UAAA,iBACzC,OAAA,EAAS,eAAA,EACT,aAAA,GAAgB,aAAA,CAAc,CAAA,IAC7B,OAAA,CAAQ,YAAA,CAAa,CAAA;AAAA,iBAOR,oBAAA,WAA+B,UAAA,iBAC7C,OAAA,EAAS,eAAA,EACT,aAAA,GAAgB,aAAA,CAAc,CAAA,IAC7B,YAAA,CAAa,CAAA;AAAA,iBAOA,sBAAA,CACd,OAAA,EAAS,eAAA,EACT,aAAA,GAAgB,aAAA,GACf,cAAA,CAAe,UAAA"}
package/dist/generate.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-BqlKnMiw.mjs";
1
+ import { n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-DGqFsuiZ.mjs";
2
2
  export { generateWorkbook, generateWorkbookStream, generateWorkbookSync };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as OleLinkOptions, A as TableColumnOptions, B as PivotCacheDefinitionOptions, C as SheetBackgroundImageOptions, Ct as FillOptions, D as WorksheetOptions, Dt as StylesDocOptions, E as WorksheetContext, Et as Styles, F as tableDesc, G as PivotTableOptions, H as PivotFilterOptions, I as SharedStrings, J as ExternalDefinedNameOptions, K as ExternalBookOptions, L as SharedStringsDocOptions, M as TableStyleInfoOptions, N as TableType, O as stringifyWorksheet, Ot as stylesDesc, P as TotalsRowFunction, Q as OleItemOptions, R as sharedStringsDesc, S as ScenarioOptions, St as DxfOptions, T as WorksheetChartOptions, Tt as StyleOptions, U as PivotFilterType, V as PivotDataField, W as PivotSourceData, X as ExternalRowOptions, Y as ExternalLinkOptions, Z as ExternalSheetDataOptions, _ as PhoneticPrOptions, _t as buildTablePartsXml, a as ColumnOptions, at as ChartsheetPageSetup, b as ScenarioCellOptions, bt as BorderOptions, c as ConditionalFormatRule, ct as CustomWorkbookViewOptions, d as FormulaOptions, dt as PivotCacheReference, et as externalLinkDesc, f as FreezePaneOptions, g as MergeCellOptions, gt as buildExternalReferencesXml, h as IgnoredErrorOptions, ht as WorkbookProtectionOptions, i as ColorScaleOptions, it as ChartsheetPageMargins, j as TableOptions, k as worksheetDesc, kt as CorePropertiesOptions, l as DataBarOptions, lt as FileRecoveryPrOptions, m as IconSetType, mt as WebPublishingOptions, n as CfvoOptions, nt as ChartsheetHeaderFooterOptions, o as CommentOptions, ot as ChartsheetProtectionOptions, p as IconSetOptions, q as ExternalCellOptions, r as CfvoType, rt as ChartsheetOptions, s as ConditionalFormatOptions, st as chartsheetDesc, t as CellOptions, tt as ChartsheetDescriptorOptions, u as DataValidationOptions, ut as FileSharingOptions, v as ProtectedRangeOptions, vt as workbookDesc, w as SheetProtectionOptions, wt as FontOptions, x as ScenarioDefinition, xt as BorderSideOptions, y as RowOptions, yt as AlignmentOptions, z as ConsolidateFunction } from "./worksheet--3Qbjk4x.mjs";
2
- import { i as WorkbookOptions, n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-DJhsIF31.mjs";
3
- import { a as parseXlsx, i as parseWorkbook, n as XlsxPartRefs, t as XlsxDocument } from "./parse-DvLtpSVC.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-DQTBkYzl.mjs";
2
+ import { generateWorkbook, generateWorkbookStream, generateWorkbookSync } from "./generate.mjs";
3
+ import { XlsxDocument, XlsxPartRefs, parseWorkbook, parseXlsx } from "./parse.mjs";
4
4
  import { CellPatch, InputDataType, Patch, PatchDocumentOutputType, PatchType, PatchWorkbookOptions, patchWorkbook } from "./patch.mjs";
5
5
  import { Element } from "@office-open/xml";
6
6
  import { ChartCollection, CompressionOptions, OutputByType, OutputType, PackerOptions, RelationshipType, Relationships, XmlifyedFile, Zippable } from "@office-open/core";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/parts/calc-chain.ts","../src/parts/comments.ts","../src/parts/drawing.ts","../src/parts/pivot-table.ts","../src/parts/pivot-cache.ts","../src/parts/dialogsheet.ts","../src/parts/query-table.ts","../src/parts/metadata.ts","../src/parts/revision-log.ts","../src/parts/connection.ts","../src/parts/xml-mapping.ts","../src/shared/media.ts","../src/util/index.ts","../src/compiler.ts","../src/parts/content-types.ts","../src/parts/media.ts","../src/context.ts"],"mappings":";;;;;;;;;;UAaiB,QAAA;EAEf,SAAA;EAEA,UAAA;EAEA,KAAA;AAAA;AAAA,UAGe,gBAAA;EACf,KAAA,EAAO,QAAQ;AAAA;AAAA,cAKJ,aAAA,EAAe,gBAAgB,CAAC,gBAAA;;;UCV5B,kBAAA;EACf,QAAA,EAAU,cAAc;AAAA;AAAA,cAGb,YAAA,EAAc,gBAAgB,CAAC,kBAAA;AAAA,cAiE/B,YAAA,EAAc,gBAAgB,CAAC,kBAAA;;;UCpC3B,mBAAA;EAEf,GAAA;EAEA,SAAA;EAEA,GAAA;EAEA,SAAA;EAEA,GAAA;EAEA,cAAA;EAEA,eAAA;AAAA;AAAA,UAGe,mBAAA;EAEf,GAAA;EAEA,SAAA;EAEA,GAAA;EAEA,SAAA;EAEA,GAAA;EAEA,cAAA;EAEA,eAAA;AAAA;AAAA,UAGe,cAAA;EACf,MAAA,GAAS,mBAAA;EACT,MAAA,GAAS,mBAAmB;AAAA;AAAA,cAYjB,WAAA,EAAa,gBAAgB,CAAC,cAAA;;;UCxE1B,2BAAA;EACf,OAAA,EAAS,iBAAA;EACT,UAAA,EAAY,eAAe;EAC3B,OAAA;AAAA;AAAA,cAKW,cAAA,EAAgB,gBAAgB,CAAC,2BAAA;;;UCjB7B,kCAAA;EACf,UAAA,EAAY,eAAA;EAEZ,OAAA,GAAU,MAAM;AAAA;AAAA,UAGD,8BAAA;EACf,SAAA;EACA,WAAA;EACA,UAAA,EAAY,eAAA;EACZ,UAAA;EACA,YAAA,GAAe,2BAA2B;AAAA;AAAA,cAK/B,iBAAA,EAAmB,gBAAgB,CAAC,8BAAA;AAAA,cAsEpC,qBAAA,EAAuB,gBAAgB,CAAC,kCAAA;;;UC9FpC,sBAAA;EACf,IAAA;EACA,KAAA;EACA,GAAA;EACA,MAAA;EACA,MAAA;EACA,MAAA;AAAA;AAAA,UAGe,oBAAA;EACf,SAAA;EACA,WAAA;EACA,aAAA;EACA,WAAA;EACA,MAAA;AAAA;AAAA,UAGe,4BAAA;EACf,OAAA;EACA,OAAA;EACA,SAAA;AAAA;AAAA,UAGe,kBAAA;EAEf,IAAA;EAEA,QAAA;EAEA,WAAA,GAAc,sBAAA;EAEd,SAAA,GAAY,oBAAA;EAEZ,eAAA,GAAkB,4BAAA;AAAA;;;UCnCH,6BAAA;EAEf,IAAI;AAAA;AAAA,UAGW,sBAAA;EAEf,EAAA;EAEA,IAAA;EAEA,aAAA;EAEA,GAAA;EAEA,cAAA;EAEA,cAAA;EAEA,gBAAA;EAEA,gBAAA;EAEA,KAAA;EAEA,OAAA;EAEA,SAAA;AAAA;AAAA,UAGe,wBAAA;EAEf,MAAA;EAEA,cAAA;EAEA,kBAAA;EAEA,iBAAA;EAEA,aAAA;EAEA,iBAAA;EAEA,aAAA,GAAgB,6BAAA;EAEhB,gBAAA,GAAmB,sBAAsB;EAEzC,QAAA;EAEA,cAAA;EAEA,oBAAA;EAEA,wBAAA;EAEA,kBAAA;EAEA,mBAAA;AAAA;AAAA,UAGe,iBAAA;EAEf,IAAA;EAEA,YAAA;EAEA,UAAA;EAEA,kBAAA;EAEA,iBAAA;EAEA,aAAA;EAEA,iBAAA;EAEA,UAAA;EAEA,cAAA;EAEA,sBAAA;EAEA,cAAA;EAEA,YAAA;EAEA,gBAAA;EAEA,WAAA;EAEA,YAAA;EAEA,iBAAA,GAAoB,wBAAwB;AAAA;;;UC7F7B,mBAAA;EAEf,IAAA;EAEA,UAAA;EAEA,mBAAA;EAEA,QAAA;EAEA,QAAA;EAEA,IAAA;EAEA,MAAA;EAEA,IAAA;EAEA,KAAA;EAEA,QAAA;EAEA,aAAA;EAEA,WAAA;EAEA,YAAA;EAEA,aAAA;EAEA,mBAAA;EAEA,YAAA;EAEA,cAAA;EAEA,kBAAA;EAEA,KAAA;EAEA,UAAA;EAEA,QAAA;EAEA,WAAA;EAEA,QAAA;EAEA,YAAA;EAEA,aAAA;EAEA,aAAA;EAEA,MAAA;EAEA,MAAA;EAEA,MAAA;EAEA,QAAA;AAAA;AAAA,UAGe,qBAAA;EAEf,KAAK;AAAA;AAAA,UAGU,qBAAA;EAEf,IAAA;EAEA,IAAI;AAAA;AAAA,UAGW,eAAA;EAEf,KAAA,GAAQ,mBAAA;EAER,OAAA,GAAU,qBAAA;EAEV,cAAA,GAAiB,qBAAA;EAEjB,WAAA,GAAc,UAAA;EAEd,kBAAA,GAAqB,oBAAA;EAErB,mBAAA,GAAsB,oBAAA;AAAA;AAAA,UAIP,UAAA;EAEf,CAAA;EAEA,CAAA;EAEA,KAAA,GAAQ,eAAA;EAER,GAAA,GAAM,aAAA;EAEN,UAAA,GAAa,oBAAA;EAEb,GAAA,GAAM,aAAA;AAAA;AAAA,UAGS,eAAA;EAEf,CAAC;AAAA;AAAA,UAGc,aAAA;EAEf,EAAE;AAAA;AAAA,UAGa,oBAAA;EAEf,CAAA;EAEA,EAAE;AAAA;AAAA,UAGa,aAAA;EAEf,CAAA;EAEA,EAAA;EAEA,CAAA;AAAA;AAAA,UAKe,qBAAA;EAEf,CAAA;EAEA,CAAC;AAAA;AAAA,UAGc,oBAAA;EAEf,OAAA,GAAU,qBAAqB;AAAA;;;UC7IhB,YAAA;EAEf,EAAE;AAAA;AAAA,UAGa,mBAAA;EAEf,IAAA;EAEA,QAAA;EAEA,QAAA;EAEA,GAAA;EAEA,UAAA;EAEA,QAAA,GAAW,YAAY;EAEvB,MAAA;EAEA,MAAA;AAAA;AAAA,UAGe,sBAAA;EAEf,IAAA;EAEA,QAAA;EAEA,OAAA,EAAS,mBAAmB;EAE5B,MAAA;EAEA,OAAA;EAEA,cAAA;EAEA,UAAA;EAEA,OAAA;EAEA,iBAAA;EAEA,SAAA;EAEA,eAAA;EAEA,aAAA;EAEA,SAAA;AAAA;AAAA,KAMU,eAAA;AAAA,UAEK,wBAAA;EAEf,MAAA,EAAQ,eAAe;EAEvB,GAAA;EAEA,GAAA;EAEA,GAAA;EAEA,UAAA;EAEA,IAAA;EAEA,EAAA;EAEA,EAAA;EAEA,GAAA;AAAA;AAAA,UAGe,yBAAA;EAEf,GAAA;EAEA,GAAA;EAEA,UAAA;EAEA,QAAA;EAEA,OAAA;EAEA,QAAA;EAEA,OAAA;EAEA,OAAA;EAEA,QAAA;EAEA,KAAA;EAEA,WAAA;EAEA,cAAA;EAEA,EAAA;EAEA,KAAA;EAEA,sBAAA;EAEA,EAAA;EAEA,EAAA;EAEA,WAAA;EAEA,WAAA;AAAA;AAAA,UAGe,mBAAA;EAEf,GAAA;EAEA,MAAA;EAEA,WAAA;EAEA,UAAA;EAEA,aAAA;EAEA,EAAA;EAEA,EAAA;AAAA;AAAA,UAGe,yBAAA;EAEf,GAAA;EAEA,GAAA;EAEA,UAAA;EAEA,CAAA;EAEA,KAAA;AAAA;AAAA,UAGe,0BAAA;EAEf,GAAA;EAEA,IAAA;EAEA,UAAA;EAEA,aAAA;EAEA,EAAA;EAEA,EAAA;AAAA;AAAA,UAGe,sBAAA;EAEf,GAAA;EAEA,GAAA;EAEA,UAAA;EAEA,IAAA;EAEA,MAAA;EAEA,UAAA;EAEA,GAAA;EAEA,SAAA;EAEA,YAAA;EAEA,SAAA;EAEA,SAAA;AAAA;AAAA,UAGe,0BAAA;EAEf,GAAA;EAEA,IAAA;EAEA,KAAA;EAEA,YAAA;EAEA,UAAA;EAEA,QAAA;EAEA,WAAA;EAEA,eAAA;EAEA,kBAAA;EAEA,WAAA;EAEA,cAAA;EAEA,SAAA;EAEA,UAAA;EAEA,aAAA;EAEA,cAAA;EAEA,IAAA;EAEA,OAAA;EAEA,SAAA;EAEA,YAAA;EAEA,UAAA;EAEA,EAAA;EAEA,EAAA;AAAA;AAAA,UAIe,uBAAA;EAEf,GAAG;AAAA;AAAA,UAIY,mBAAA;EAEf,GAAA;EAEA,SAAA,GAAY,aAAa;EAEzB,EAAA;EAEA,EAAA;EAEA,GAAA;EAEA,EAAA;EAEA,KAAA;AAAA;AAAA,UAIe,6BAAA;EAEf,GAAA;EAEA,UAAA;EAEA,GAAA;AAAA;AAAA,UAIe,yBAAA;EAEf,GAAA;EAEA,IAAI;AAAA;AAAA,UAIW,0BAAA;EAEf,GAAA;EAEA,UAAA;EAEA,OAAA;EAEA,OAAA;EAEA,EAAA;EAEA,EAAA;AAAA;AAAA,UAIe,8BAAA;EAEf,GAAA;EAEA,UAAA;EAEA,OAAA;EAEA,EAAA;EAEA,EAAA;AAAA;AAAA,UAIe,uBAAA;EAEf,GAAA;EAEA,UAAA;EAEA,EAAA;EAEA,EAAA;AAAA;AAAA,KAIU,aAAA;EACN,IAAA;EAAmB,IAAA,EAAM,wBAAA;AAAA;EACzB,IAAA;EAAoB,IAAA,EAAM,yBAAA;AAAA;EAC1B,IAAA;EAAc,IAAA,EAAM,mBAAA;AAAA;EACpB,IAAA;EAAoB,IAAA,EAAM,yBAAA;AAAA;EAC1B,IAAA;EAAqB,IAAA,EAAM,0BAAA;AAAA;EAC3B,IAAA;EAAiB,IAAA,EAAM,sBAAA;AAAA;EACvB,IAAA;EAAqB,IAAA,EAAM,0BAAA;AAAA;EAC3B,IAAA;EAAkB,IAAA,EAAM,uBAAA;AAAA;EACxB,IAAA;EAAc,IAAA,EAAM,mBAAA;AAAA;EACpB,IAAA;EAAwB,IAAA,EAAM,6BAAA;AAAA;EAC9B,IAAA;EAAoB,IAAA,EAAM,yBAAA;AAAA;EAC1B,IAAA;EAAqB,IAAA,EAAM,0BAAA;AAAA;EAC3B,IAAA;EAAyB,IAAA,EAAM,8BAAA;AAAA;EAC/B,IAAA;EAAkB,IAAA,EAAM,uBAAA;AAAA;AAAA,UAEb,kBAAA;EAEf,SAAA,GAAY,aAAa;AAAA;;;UCpVV,WAAA;EAEf,UAAA;EAEA,OAAA;EAEA,WAAA;EAEA,aAAA;AAAA;AAAA,UAGe,YAAA;EAEf,GAAA;EAEA,UAAA;EAEA,UAAA;EAEA,UAAA;EAEA,WAAA;EAEA,cAAA;EAEA,QAAA;EAEA,MAAA;EAEA,QAAA;EAEA,QAAA;EAEA,IAAA;EAEA,SAAA;EAEA,IAAA;EAEA,UAAA,GAAa,gBAAgB;AAAA;AAAA,UAGd,aAAA;EAEf,UAAA,GAAa,gBAAgB;EAE7B,QAAA;EAEA,YAAA;EAEA,UAAA;EAEA,SAAA;EAEA,GAAA;EAEA,KAAA;EAEA,KAAA;EAEA,SAAA;EAEA,MAAA;EAEA,OAAA;EAEA,SAAA;EAEA,aAAA;EAEA,SAAA;EAEA,QAAA;EAEA,QAAA;EAEA,SAAA;AAAA;AAAA,UAGe,gBAAA;EAEf,IAAA;EAEA,QAAQ;AAAA;AAAA,UAGO,gBAAA;EAEf,IAAA;EAEA,OAAA;EAEA,YAAA;EAEA,WAAA;EAEA,YAAA;EAEA,YAAA;EAEA,eAAA;EAEA,MAAA;EAEA,OAAA;EAEA,SAAA;EAEA,aAAA;AAAA;AAAA,UAGe,iBAAA;EAEf,EAAA;EAEA,IAAA;EAEA,IAAA;EAEA,aAAA;EAEA,gBAAA;EAEA,iBAAA;EAEA,QAAA;EAEA,YAAA;EAEA,WAAA;EAEA,WAAA;EAEA,QAAA;EAEA,SAAA;EAEA,GAAA;EAEA,OAAA;EAEA,qBAAA;EAEA,kBAAA;EAEA,cAAA;EAEA,IAAA,GAAO,WAAA;EAEP,KAAA,GAAQ,YAAA;EAER,MAAA,GAAS,aAAA;EAET,UAAA,GAAa,gBAAA;AAAA;;;UCzJE,aAAA;EAEf,EAAA;EAEA,SAAA;EAEA,SAAA;EAEA,cAAA;EAEA,QAAA;EAEA,kBAAA;EAEA,oBAAA;AAAA;AAAA,UAGe,kBAAA;EAEf,eAAA;EAEA,WAAA;EAEA,eAAA;EAEA,YAAA;EAEA,mBAAA;AAAA;AAAA,UAGe,UAAA;EAEf,EAAA;EAEA,IAAA;EAEA,WAAA;EAEA,QAAA;EAEA,gCAAA;EAEA,MAAA;EAEA,mBAAA;EAEA,OAAA;EAEA,WAAA;EAEA,eAAA;EAEA,cAAA;EAEA,oBAAA;EAEA,WAAA,GAAc,kBAAkB;AAAA;AAAA,UAGjB,cAAA;EAEf,mBAAA;EAEA,OAAA,EAAS,aAAA;EAET,IAAA,EAAM,UAAU;AAAA;AAAA,UAGD,YAAA;EAEf,UAAA;EAEA,KAAA;EAEA,KAAA;EAEA,WAAA;AAAA;AAAA,UAGe,gBAAA;EAEf,EAAA;EAEA,UAAA;EAEA,KAAA,EAAO,YAAY;AAAA;AAAA,UAGJ,oBAAA;EAEf,EAAA;EAEA,CAAA;EAEA,YAAA;EAEA,SAAA,EAAW,gBAAgB;AAAA;AAAA,UAGZ,kBAAA;EAEf,KAAA;EAEA,WAAA;EAEA,KAAA;EAEA,YAAA;AAAA;;;UC/Ge,SAAA;EACf,QAAA;EACA,IAAA;EACA,IAAA,EAAM,UAAU;EAChB,KAAA;EACA,MAAA;AAAA;AAAA,cAGW,KAAA;EAAA,QACH,GAAA;EAED,QAAA,CAAS,GAAA,UAAa,IAAA,EAAM,SAAA;EAAA,IAIxB,KAAA,IAAS,SAAS;AAAA;;;iBCjBf,cAAA,CAAe,GAAW;AAAA,iBAe1B,kBAAA,CAAmB,IAAU,EAAJ,IAAI;;;iBC6B7B,eAAA,CACd,OAAA,EAAS,eAAA,EACT,SAAA,GAAW,YAAA,IACX,UAAA,YACC,QAAA;;;cCDU,YAAA;EAAA,QACH,cAAA;EAED,YAAA,CAAa,KAAA;EAQb,aAAA,CAAc,KAAA;EAQd,SAAA;EAQA,gBAAA;EAQA,QAAA,CAAS,KAAA;EAQT,QAAA,CAAS,KAAA;EAQT,UAAA,CAAW,KAAA;EAQX,WAAA,CAAY,KAAA;EAQZ,aAAA;EASA,YAAA,CAAa,SAAA;EAMb,aAAA,CAAc,KAAA;EAQd,uBAAA,CAAwB,KAAA;EASxB,oBAAA,CAAqB,KAAA;EASrB,QAAA,CAAS,KAAA;EAQT,eAAA,CAAgB,KAAA;EAQhB,YAAA;EAQA,cAAA,CAAe,KAAA;EAQf,kBAAA;EASA,cAAA,CAAe,KAAA;EAQf,aAAA,CAAc,KAAA;EAQd,WAAA;EAQA,SAAA;AAAA;;;UC1NQ,WAAA;EACf,QAAA;EACA,IAAA;EACA,IAAA,EAAM,UAAU;EAChB,KAAA;EACA,MAAA;AAAA;AAAA,cAGW,OAAA;EAAA,QACH,GAAA;EAED,QAAA,CAAS,GAAA,UAAa,IAAA,EAAM,WAAA;EAAA,IAIxB,KAAA,IAAS,WAAS;AAAA;;;cCKlB,gBAAA,YAA4B,YAAA;EACvC,aAAA,EAAa,aAAA;EACb,MAAA,EAAM,MAAA;EACN,KAAA,EAAK,OAAA;EACL,MAAA,EAAM,eAAA;EACN,YAAA,EAAY,YAAA;EACZ,YAAA,EAAY,aAAA;EACZ,cAAA,EAAgB,mBAAA;EAIT,eAAA,CAAgB,IAAA,EAAM,gBAAA,EAAkB,MAAA,UAAgB,KAAA;EAMxD,QAAA,CAAS,KAAA,EAAO,UAAA,EAAY,KAAA;EAQ5B,WAAA,CAAY,IAAA,EAAM,UAAA;AAAA;AAAA,cAad,eAAA,YAA2B,WAAA;EAAA,QAO5B,IAAA;EAAA,SALM,aAAA;EAET,YAAA,GAAe,MAAA;cAGZ,IAAA,EAAM,YAAA,EACd,aAAA;EAKK,mBAAA,CAAoB,GAAA;EAkBpB,mBAAA,CAAoB,MAAA,UAAgB,GAAA;EAmBpC,sBAAA,CACL,MAAA,UACA,YAAA,WACC,KAAA;IAAQ,GAAA;IAAa,MAAA;EAAA;EAkBjB,OAAA,CAAQ,IAAA,WAAe,OAAA;EAIvB,MAAA,CAAO,IAAA,WAAe,UAAA;EAStB,YAAA,CAAa,UAAA,WAAqB,YAAA;AAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/parts/calc-chain.ts","../src/parts/comments.ts","../src/parts/drawing.ts","../src/parts/pivot-table.ts","../src/parts/pivot-cache.ts","../src/parts/dialogsheet.ts","../src/parts/query-table.ts","../src/parts/metadata.ts","../src/parts/revision-log.ts","../src/parts/connection.ts","../src/parts/xml-mapping.ts","../src/shared/media.ts","../src/util/index.ts","../src/compiler.ts","../src/parts/content-types.ts","../src/parts/media.ts","../src/context.ts"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
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-BXK92u5G.mjs";
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-ChKe3x0r.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-BqlKnMiw.mjs";
4
+ import { i as compileWorkbook, n as generateWorkbookStream, r as generateWorkbookSync, t as generateWorkbook } from "./generate-DGqFsuiZ.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,2 +1,26 @@
1
- import { a as parseXlsx, i as parseWorkbook, n as XlsxPartRefs, r as parseArchive, t as XlsxDocument } from "./parse-DvLtpSVC.mjs";
2
- export { XlsxDocument, XlsxPartRefs, parseArchive, parseWorkbook, parseXlsx };
1
+ import { t as WorkbookOptions } from "./file-DQTBkYzl.mjs";
2
+ import { Element } from "@office-open/xml";
3
+ import { DataType, ParsedArchive, parseArchive } from "@office-open/core";
4
+
5
+ //#region src/parse.d.ts
6
+ interface XlsxPartRefs {
7
+ worksheets: string[];
8
+ charts: string[];
9
+ media: string[];
10
+ drawings: string[];
11
+ }
12
+ interface XlsxDocument {
13
+ doc: ParsedArchive;
14
+ workbook?: Element;
15
+ worksheets: string[];
16
+ styles?: Element;
17
+ sharedStrings?: Element;
18
+ partRefs: XlsxPartRefs;
19
+ coreProps?: string;
20
+ appProps?: string;
21
+ }
22
+ declare function parseXlsx(data: DataType): XlsxDocument;
23
+ declare function parseWorkbook(data: DataType): WorkbookOptions;
24
+ //#endregion
25
+ export { XlsxDocument, XlsxPartRefs, parseArchive, parseWorkbook, parseXlsx };
26
+ //# sourceMappingURL=parse.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.mts","names":[],"sources":["../src/parse.ts"],"mappings":";;;;;UAiCiB,YAAA;EACf,UAAA;EACA,MAAA;EACA,KAAA;EACA,QAAA;AAAA;AAAA,UAGe,YAAA;EACf,GAAA,EAAK,aAAA;EAEL,QAAA,GAAW,OAAA;EAEX,UAAA;EAEA,MAAA,GAAS,OAAA;EAET,aAAA,GAAgB,OAAA;EAChB,QAAA,EAAU,YAAA;EAEV,SAAA;EAEA,QAAA;AAAA;AAAA,iBAwBc,SAAA,CAAU,IAAA,EAAM,QAAA,GAAW,YAAY;AAAA,iBAwFvC,aAAA,CAAc,IAAA,EAAM,QAAA,GAAW,eAAe"}
package/dist/parse.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { E as sharedStringsDesc, S as worksheetDesc, _ as commentsDesc, a as workbookDesc, b as calcChainDesc, c as tableDesc, d as pivotTableDesc, g as drawingDesc, h as externalLinkDesc, l as pivotCacheDefDesc, t as XlsxReadContext, u as pivotCacheRecordsDesc, w as stylesDesc, y as chartsheetDesc } from "./context-BXK92u5G.mjs";
1
+ import { E as sharedStringsDesc, S as worksheetDesc, _ as commentsDesc, a as workbookDesc, b as calcChainDesc, c as tableDesc, d as pivotTableDesc, g as drawingDesc, h as externalLinkDesc, l as pivotCacheDefDesc, t as XlsxReadContext, u as pivotCacheRecordsDesc, w as stylesDesc, y as chartsheetDesc } from "./context-ChKe3x0r.mjs";
2
2
  import { attr } from "@office-open/xml";
3
3
  import { parseArchive, parseCorePropsElement, toUint8Array } from "@office-open/core";
4
4
  //#region src/parse.ts
@@ -12,6 +12,13 @@ function sortByNumber(paths) {
12
12
  return parseInt(a.match(/(\d+)/)?.[1] ?? "0", 10) - parseInt(b.match(/(\d+)/)?.[1] ?? "0", 10);
13
13
  });
14
14
  }
15
+ /** Derive the sibling rels path for an external link part.
16
+ * "xl/externalLinks/externalLink1.xml" → "xl/externalLinks/_rels/externalLink1.xml.rels"
17
+ */
18
+ function externalLinkRelsPath(elPath) {
19
+ const idx = elPath.lastIndexOf("/");
20
+ return `${elPath.substring(0, idx)}/_rels/${elPath.substring(idx + 1)}.rels`;
21
+ }
15
22
  /**
16
23
  * Parse raw .xlsx data into a low-level XlsxDocument.
17
24
  */
@@ -98,7 +105,16 @@ function parseWorkbook(data) {
98
105
  let strings = [];
99
106
  if (xlsx.sharedStrings) strings = extractStringsFromEntries(sharedStringsDesc.parse(xlsx.sharedStrings, {}));
100
107
  const readContext = new XlsxReadContext(xlsx, strings);
101
- if (xlsx.styles) readContext.parsedStyles = stylesDesc.parse(xlsx.styles, readContext);
108
+ if (xlsx.styles) {
109
+ const parsedStyles = stylesDesc.parse(xlsx.styles, readContext);
110
+ readContext.parsedStyles = parsedStyles;
111
+ if (parsedStyles.dxfs) opts.dxfs = parsedStyles.dxfs;
112
+ if (parsedStyles.colors) opts.colors = parsedStyles.colors;
113
+ if (parsedStyles.customCellStyles) opts.cellStyles = parsedStyles.customCellStyles;
114
+ if (parsedStyles.styleExtensions) opts.styleExtensions = parsedStyles.styleExtensions;
115
+ const tableStylesInfo = parsedStyles.tableStylesInfo;
116
+ if (tableStylesInfo?.tableStyles) opts.tableStyles = tableStylesInfo.tableStyles;
117
+ }
102
118
  let sheetNames = [];
103
119
  if (xlsx.workbook) {
104
120
  const wbData = workbookDesc.parse(xlsx.workbook, readContext);
@@ -221,6 +237,20 @@ function parseWorkbook(data) {
221
237
  const elEl = xlsx.doc.get(elPath);
222
238
  if (!elEl) continue;
223
239
  const elData = externalLinkDesc.parse(elEl, readContext);
240
+ const elData2 = elData;
241
+ if (elData2.externalBook) {
242
+ const relsPath = externalLinkRelsPath(elPath);
243
+ const relsEl = xlsx.doc.get(relsPath);
244
+ if (relsEl) for (const child of relsEl.elements ?? []) {
245
+ if (child.name !== "Relationship") continue;
246
+ if (!(attr(child, "Type") ?? "").includes("/externalLinkPath")) continue;
247
+ const target = attr(child, "Target");
248
+ if (target) {
249
+ elData2.externalBook.target = target;
250
+ break;
251
+ }
252
+ }
253
+ }
224
254
  externalLinks.push(elData);
225
255
  }
226
256
  if (externalLinks.length > 0) opts.externalLinks = externalLinks;
@@ -1 +1 @@
1
- {"version":3,"file":"parse.mjs","names":[],"sources":["../src/parse.ts"],"sourcesContent":["/**\n * XLSX parsing — parse .xlsx files into structured data.\n *\n * @module\n */\nimport { parseArchive, parseCorePropsElement } from \"@office-open/core\";\nimport type { ParsedArchive } from \"@office-open/core\";\nimport { toUint8Array } from \"@office-open/core\";\nimport type { DataType } from \"@office-open/core\";\nimport type { Element } from \"@office-open/xml\";\nimport { attr } from \"@office-open/xml\";\nimport { calcChainDesc } from \"@parts/calc-chain\";\nimport { chartsheetDesc } from \"@parts/chartsheet\";\nimport type { ChartsheetOptions } from \"@parts/chartsheet\";\nimport { commentsDesc } from \"@parts/comments\";\nimport { drawingDesc } from \"@parts/drawing\";\nimport { externalLinkDesc } from \"@parts/external-link\";\nimport { pivotCacheDefDesc, pivotCacheRecordsDesc } from \"@parts/pivot-cache\";\nimport { pivotTableDesc } from \"@parts/pivot-table\";\nimport { sharedStringsDesc } from \"@parts/shared-strings\";\nimport { stylesDesc } from \"@parts/styles\";\nimport { tableDesc } from \"@parts/table\";\nimport { workbookDesc } from \"@parts/workbook\";\nimport { worksheetDesc } from \"@parts/worksheet\";\nimport type { WorksheetOptions } from \"@parts/worksheet\";\nimport type { WorkbookOptions } from \"@shared/file\";\n\nimport { XlsxReadContext } from \"./context\";\n\nexport { parseArchive };\n\n// ── Low-level parse result ──\n\nexport interface XlsxPartRefs {\n worksheets: string[];\n charts: string[];\n media: string[];\n drawings: string[];\n}\n\nexport interface XlsxDocument {\n doc: ParsedArchive;\n /** xl/workbook.xml root element */\n workbook?: Element;\n /** Worksheet paths (xl/worksheets/sheet{n}.xml) */\n worksheets: string[];\n /** xl/styles.xml root element */\n styles?: Element;\n /** xl/sharedStrings.xml root element */\n sharedStrings?: Element;\n partRefs: XlsxPartRefs;\n /** docProps/core.xml path */\n coreProps?: string;\n /** docProps/app.xml path */\n appProps?: string;\n}\n\nfunction sortByNumber(paths: string[]): string[] {\n return paths.sort((a, b) => {\n const numA = parseInt(a.match(/(\\d+)/)?.[1] ?? \"0\", 10);\n const numB = parseInt(b.match(/(\\d+)/)?.[1] ?? \"0\", 10);\n return numA - numB;\n });\n}\n\n/**\n * Parse raw .xlsx data into a low-level XlsxDocument.\n */\nexport function parseXlsx(data: DataType): XlsxDocument {\n const uint8 = toUint8Array(data);\n const doc = parseArchive(uint8);\n\n const workbook = doc.get(\"xl/workbook.xml\");\n const styles = doc.get(\"xl/styles.xml\");\n const sharedStrings = doc.get(\"xl/sharedStrings.xml\");\n\n // Resolve worksheet paths from workbook rels\n const worksheets: string[] = [];\n const charts: string[] = [];\n const drawings: string[] = [];\n const media: string[] = [];\n\n const wbRels = doc.get(\"xl/_rels/workbook.xml.rels\");\n if (wbRels) {\n for (const child of wbRels.elements ?? []) {\n if (child.name !== \"Relationship\") continue;\n const type = attr(child, \"Type\") ?? \"\";\n const target = attr(child, \"Target\") ?? \"\";\n if (!target) continue;\n\n if (type.includes(\"/worksheet\")) {\n worksheets.push(target.startsWith(\"/\") ? target.slice(1) : `xl/${target}`);\n }\n }\n }\n sortByNumber(worksheets);\n\n // Scan for drawings, charts, media\n drawings.push(...doc.keys(\"xl/drawings/\").filter((k) => k.endsWith(\".xml\")));\n charts.push(...doc.keys(\"xl/charts/\").filter((k) => k.endsWith(\".xml\")));\n media.push(...doc.keys(\"xl/media/\"));\n sortByNumber(drawings);\n sortByNumber(charts);\n\n // Root rels → core/app props\n let coreProps: string | undefined;\n let appProps: string | undefined;\n const rootRels = doc.get(\"_rels/.rels\");\n if (rootRels) {\n for (const child of rootRels.elements ?? []) {\n if (child.name !== \"Relationship\") continue;\n const type = attr(child, \"Type\") ?? \"\";\n const target = attr(child, \"Target\") ?? \"\";\n if (type.includes(\"/core-properties\")) coreProps = target;\n else if (type.includes(\"/extended-properties\")) appProps = target;\n }\n }\n\n return {\n doc,\n workbook,\n worksheets,\n styles,\n sharedStrings,\n partRefs: { worksheets, charts, media, drawings },\n coreProps,\n appProps,\n };\n}\n\n// ── Shared strings helper ──\n\n/** Extract plain string array from sharedStringsDesc.parse() result. */\nfunction extractStringsFromEntries(parsed: {\n entries: (string | Record<string, unknown>)[];\n}): string[] {\n const strings: string[] = [];\n for (const entry of parsed.entries) {\n if (typeof entry === \"string\") {\n strings.push(entry);\n } else {\n // Rich text: concatenate run texts\n const runs = entry.runs as { text: string }[] | undefined;\n if (runs && runs.length > 0) {\n strings.push(runs.map((r) => r.text).join(\"\"));\n }\n }\n }\n return strings;\n}\n\n/**\n * Parse a .xlsx file and convert it into WorkbookOptions.\n *\n * The returned options can be passed to `new Workbook(parsed)`.\n */\nexport function parseWorkbook(data: DataType): WorkbookOptions {\n const xlsx = parseXlsx(data);\n\n const opts: Record<string, unknown> = {};\n\n // Core properties\n if (xlsx.coreProps) {\n const corePropsEl = xlsx.doc.get(xlsx.coreProps);\n if (corePropsEl) {\n const cp = parseCorePropsElement(corePropsEl);\n if (cp.title) opts.title = cp.title;\n if (cp.subject) opts.subject = cp.subject;\n if (cp.creator) opts.creator = cp.creator;\n if (cp.keywords) opts.keywords = cp.keywords;\n if (cp.description) opts.description = cp.description;\n if (cp.lastModifiedBy) opts.lastModifiedBy = cp.lastModifiedBy;\n if (cp.revision) opts.revision = parseInt(cp.revision, 10);\n }\n }\n\n // Shared strings — use descriptor.parse() for richer data, then extract strings for lookup\n let strings: string[] = [];\n if (xlsx.sharedStrings) {\n const parsed = sharedStringsDesc.parse(xlsx.sharedStrings, {} as never) as {\n entries: (string | Record<string, unknown>)[];\n };\n strings = extractStringsFromEntries(parsed);\n }\n\n // Create read context for descriptor pipeline\n const readContext = new XlsxReadContext(xlsx, strings);\n\n // Parse styles (fonts, fills, borders, cellXfs)\n if (xlsx.styles) {\n readContext.parsedStyles = stylesDesc.parse(xlsx.styles, readContext) as unknown as Record<\n string,\n unknown\n >;\n }\n\n // Parse workbook via descriptor for richer data\n let sheetNames: string[] = [];\n if (xlsx.workbook) {\n const wbData = workbookDesc.parse(xlsx.workbook, readContext) as unknown as Record<\n string,\n unknown\n >;\n const sheets = wbData.sheets as\n | { name: string; sheetId: number; rId: string; state?: string }[]\n | undefined;\n if (sheets) sheetNames = sheets.map((s) => s.name);\n\n // Workbook-level properties\n if (wbData.protection) opts.workbookProtection = wbData.protection;\n if (wbData.bookView) opts.bookView = wbData.bookView;\n if (wbData.calcPr) opts.calcPr = wbData.calcPr;\n if (wbData.customViews) opts.customWorkbookViews = wbData.customViews;\n if (wbData.fileRecoveryPr) opts.fileRecoveryPr = wbData.fileRecoveryPr;\n if (wbData.functionGroups) opts.functionGroups = wbData.functionGroups;\n if (wbData.webPublishing) opts.webPublishing = wbData.webPublishing;\n if (wbData.fileSharing) opts.fileSharing = wbData.fileSharing;\n if (wbData.workbookPr) opts.workbookPr = wbData.workbookPr;\n if (wbData.volTypes) opts.volTypes = wbData.volTypes;\n if (wbData.webPublishObjects) opts.webPublishObjects = wbData.webPublishObjects;\n }\n\n // Parse worksheets using descriptor pipeline\n const worksheets: WorksheetOptions[] = [];\n for (let i = 0; i < xlsx.worksheets.length; i++) {\n const wsPath = xlsx.worksheets[i];\n const wsEl = xlsx.doc.get(wsPath);\n if (!wsEl) continue;\n\n const wsOpts = worksheetDesc.parse(wsEl, readContext) as Record<string, unknown>;\n if (sheetNames[i]) wsOpts.name = sheetNames[i];\n\n // ── Resolve sub-parts via worksheet relationships ──\n\n // Comments\n const commentRels = readContext.getWorksheetRelsByType(wsPath, \"/comments\");\n for (const cr of commentRels) {\n const commentEl = xlsx.doc.get(cr.target);\n if (!commentEl) continue;\n const commentData = commentsDesc.parse(commentEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n if (commentData.comments) {\n wsOpts.comments = commentData.comments;\n break; // one comments file per worksheet\n }\n }\n\n // Drawings (images + charts)\n const drawingRels = readContext.getWorksheetRelsByType(wsPath, \"/drawing\");\n for (const dr of drawingRels) {\n const drawingEl = xlsx.doc.get(dr.target);\n if (!drawingEl) continue;\n const drawingData = drawingDesc.parse(drawingEl, readContext) as Record<string, unknown>;\n if (drawingData.images) wsOpts.images = drawingData.images;\n if (drawingData.charts) wsOpts.charts = drawingData.charts;\n break;\n }\n\n // Tables\n const tableRels = readContext.getWorksheetRelsByType(wsPath, \"/table\");\n if (tableRels.length > 0) {\n const tables: Record<string, unknown>[] = [];\n for (const tr of tableRels) {\n const tableEl = xlsx.doc.get(tr.target);\n if (!tableEl) continue;\n const tableData = tableDesc.parse(tableEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n tables.push(tableData);\n }\n if (tables.length > 0) wsOpts.tables = tables;\n }\n\n // Pivot tables\n const pivotRels = readContext.getWorksheetRelsByType(wsPath, \"/pivotTable\");\n if (pivotRels.length > 0) {\n const pivotTables: Record<string, unknown>[] = [];\n for (const pr of pivotRels) {\n const pivotEl = xlsx.doc.get(pr.target);\n if (!pivotEl) continue;\n const pivotData = pivotTableDesc.parse(pivotEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n pivotTables.push(pivotData);\n }\n if (pivotTables.length > 0) wsOpts.pivotTables = pivotTables;\n }\n\n // Resolve external hyperlink URLs\n const hyperlinks = wsOpts.hyperlinks as Record<string, unknown>[] | undefined;\n if (hyperlinks) {\n for (const hl of hyperlinks) {\n const target = hl.target as Record<string, unknown> | undefined;\n if (target?.type === \"external\" && typeof target.url === \"string\") {\n const resolved = readContext.resolveWorksheetRel(wsPath, target.url);\n if (resolved) target.url = resolved;\n }\n }\n }\n\n worksheets.push(wsOpts as WorksheetOptions);\n }\n\n opts.worksheets = worksheets;\n\n // Chartsheets — parse chartsheet parts\n const chartsheetPaths = xlsx.doc.keys(\"xl/chartsheets/\").filter((k) => k.endsWith(\".xml\"));\n if (chartsheetPaths.length > 0) {\n const chartsheets: ChartsheetOptions[] = [];\n for (let i = 0; i < chartsheetPaths.length; i++) {\n const csEl = xlsx.doc.get(chartsheetPaths[i]);\n if (!csEl) continue;\n const csData = chartsheetDesc.parse(csEl, readContext) as unknown as Record<string, unknown>;\n if (sheetNames[worksheets.length + i]) csData.name = sheetNames[worksheets.length + i];\n chartsheets.push(csData as unknown as ChartsheetOptions);\n }\n if (chartsheets.length > 0) opts.chartsheets = chartsheets;\n }\n\n // Pivot cache definitions and records\n const pivotCacheDefPaths = xlsx.doc\n .keys(\"xl/pivotCache/\")\n .filter((k) => k.includes(\"pivotCacheDefinition\"));\n if (pivotCacheDefPaths.length > 0) {\n const pivotCaches: Record<string, unknown>[] = [];\n for (const pcdPath of pivotCacheDefPaths) {\n const pcdEl = xlsx.doc.get(pcdPath);\n if (!pcdEl) continue;\n const pcdData = pivotCacheDefDesc.parse(pcdEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n pivotCaches.push(pcdData);\n }\n if (pivotCaches.length > 0) opts.pivotCaches = pivotCaches;\n }\n\n const pivotCacheRecPaths = xlsx.doc\n .keys(\"xl/pivotCache/\")\n .filter((k) => k.includes(\"pivotCacheRecords\"));\n if (pivotCacheRecPaths.length > 0) {\n const pivotCacheRecords: Record<string, unknown>[] = [];\n for (const pcrPath of pivotCacheRecPaths) {\n const pcrEl = xlsx.doc.get(pcrPath);\n if (!pcrEl) continue;\n const pcrData = pivotCacheRecordsDesc.parse(pcrEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n pivotCacheRecords.push(pcrData);\n }\n if (pivotCacheRecords.length > 0) opts.pivotCacheRecords = pivotCacheRecords;\n }\n\n // Calculation chain\n const calcChainEl = xlsx.doc.get(\"xl/calcChain.xml\");\n if (calcChainEl) {\n const calcData = calcChainDesc.parse(calcChainEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n if (calcData.cells) opts.calcChain = calcData.cells;\n }\n\n // External links\n const extLinkPaths = xlsx.doc.keys(\"xl/externalLinks/\").filter((k) => k.endsWith(\".xml\"));\n if (extLinkPaths.length > 0) {\n const externalLinks: Record<string, unknown>[] = [];\n for (const elPath of extLinkPaths) {\n const elEl = xlsx.doc.get(elPath);\n if (!elEl) continue;\n const elData = externalLinkDesc.parse(elEl, readContext) as Record<string, unknown>;\n externalLinks.push(elData);\n }\n if (externalLinks.length > 0) opts.externalLinks = externalLinks;\n }\n\n return opts as WorkbookOptions;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"parse.mjs","names":[],"sources":["../src/parse.ts"],"sourcesContent":["/**\n * XLSX parsing — parse .xlsx files into structured data.\n *\n * @module\n */\nimport { parseArchive, parseCorePropsElement } from \"@office-open/core\";\nimport type { ParsedArchive } from \"@office-open/core\";\nimport { toUint8Array } from \"@office-open/core\";\nimport type { DataType } from \"@office-open/core\";\nimport type { Element } from \"@office-open/xml\";\nimport { attr } from \"@office-open/xml\";\nimport { calcChainDesc } from \"@parts/calc-chain\";\nimport { chartsheetDesc } from \"@parts/chartsheet\";\nimport type { ChartsheetOptions } from \"@parts/chartsheet\";\nimport { commentsDesc } from \"@parts/comments\";\nimport { drawingDesc } from \"@parts/drawing\";\nimport { externalLinkDesc } from \"@parts/external-link\";\nimport type { WorkbookOptions } from \"@parts/file\";\nimport { pivotCacheDefDesc, pivotCacheRecordsDesc } from \"@parts/pivot-cache\";\nimport { pivotTableDesc } from \"@parts/pivot-table\";\nimport { sharedStringsDesc } from \"@parts/shared-strings\";\nimport { stylesDesc } from \"@parts/styles\";\nimport { tableDesc } from \"@parts/table\";\nimport { workbookDesc } from \"@parts/workbook\";\nimport { worksheetDesc } from \"@parts/worksheet\";\nimport type { WorksheetOptions } from \"@parts/worksheet\";\n\nimport { XlsxReadContext } from \"./context\";\n\nexport { parseArchive };\n\n// ── Low-level parse result ──\n\nexport interface XlsxPartRefs {\n worksheets: string[];\n charts: string[];\n media: string[];\n drawings: string[];\n}\n\nexport interface XlsxDocument {\n doc: ParsedArchive;\n /** xl/workbook.xml root element */\n workbook?: Element;\n /** Worksheet paths (xl/worksheets/sheet{n}.xml) */\n worksheets: string[];\n /** xl/styles.xml root element */\n styles?: Element;\n /** xl/sharedStrings.xml root element */\n sharedStrings?: Element;\n partRefs: XlsxPartRefs;\n /** docProps/core.xml path */\n coreProps?: string;\n /** docProps/app.xml path */\n appProps?: string;\n}\n\nfunction sortByNumber(paths: string[]): string[] {\n return paths.sort((a, b) => {\n const numA = parseInt(a.match(/(\\d+)/)?.[1] ?? \"0\", 10);\n const numB = parseInt(b.match(/(\\d+)/)?.[1] ?? \"0\", 10);\n return numA - numB;\n });\n}\n\n/** Derive the sibling rels path for an external link part.\n * \"xl/externalLinks/externalLink1.xml\" → \"xl/externalLinks/_rels/externalLink1.xml.rels\"\n */\nfunction externalLinkRelsPath(elPath: string): string {\n const idx = elPath.lastIndexOf(\"/\");\n const dir = elPath.substring(0, idx);\n const file = elPath.substring(idx + 1);\n return `${dir}/_rels/${file}.rels`;\n}\n\n/**\n * Parse raw .xlsx data into a low-level XlsxDocument.\n */\nexport function parseXlsx(data: DataType): XlsxDocument {\n const uint8 = toUint8Array(data);\n const doc = parseArchive(uint8);\n\n const workbook = doc.get(\"xl/workbook.xml\");\n const styles = doc.get(\"xl/styles.xml\");\n const sharedStrings = doc.get(\"xl/sharedStrings.xml\");\n\n // Resolve worksheet paths from workbook rels\n const worksheets: string[] = [];\n const charts: string[] = [];\n const drawings: string[] = [];\n const media: string[] = [];\n\n const wbRels = doc.get(\"xl/_rels/workbook.xml.rels\");\n if (wbRels) {\n for (const child of wbRels.elements ?? []) {\n if (child.name !== \"Relationship\") continue;\n const type = attr(child, \"Type\") ?? \"\";\n const target = attr(child, \"Target\") ?? \"\";\n if (!target) continue;\n\n if (type.includes(\"/worksheet\")) {\n worksheets.push(target.startsWith(\"/\") ? target.slice(1) : `xl/${target}`);\n }\n }\n }\n sortByNumber(worksheets);\n\n // Scan for drawings, charts, media\n drawings.push(...doc.keys(\"xl/drawings/\").filter((k) => k.endsWith(\".xml\")));\n charts.push(...doc.keys(\"xl/charts/\").filter((k) => k.endsWith(\".xml\")));\n media.push(...doc.keys(\"xl/media/\"));\n sortByNumber(drawings);\n sortByNumber(charts);\n\n // Root rels → core/app props\n let coreProps: string | undefined;\n let appProps: string | undefined;\n const rootRels = doc.get(\"_rels/.rels\");\n if (rootRels) {\n for (const child of rootRels.elements ?? []) {\n if (child.name !== \"Relationship\") continue;\n const type = attr(child, \"Type\") ?? \"\";\n const target = attr(child, \"Target\") ?? \"\";\n if (type.includes(\"/core-properties\")) coreProps = target;\n else if (type.includes(\"/extended-properties\")) appProps = target;\n }\n }\n\n return {\n doc,\n workbook,\n worksheets,\n styles,\n sharedStrings,\n partRefs: { worksheets, charts, media, drawings },\n coreProps,\n appProps,\n };\n}\n\n// ── Shared strings helper ──\n\n/** Extract plain string array from sharedStringsDesc.parse() result. */\nfunction extractStringsFromEntries(parsed: {\n entries: (string | Record<string, unknown>)[];\n}): string[] {\n const strings: string[] = [];\n for (const entry of parsed.entries) {\n if (typeof entry === \"string\") {\n strings.push(entry);\n } else {\n // Rich text: concatenate run texts\n const runs = entry.runs as { text: string }[] | undefined;\n if (runs && runs.length > 0) {\n strings.push(runs.map((r) => r.text).join(\"\"));\n }\n }\n }\n return strings;\n}\n\n/**\n * Parse a .xlsx file and convert it into WorkbookOptions.\n *\n * The returned options can be passed to `new Workbook(parsed)`.\n */\nexport function parseWorkbook(data: DataType): WorkbookOptions {\n const xlsx = parseXlsx(data);\n\n const opts: Record<string, unknown> = {};\n\n // Core properties\n if (xlsx.coreProps) {\n const corePropsEl = xlsx.doc.get(xlsx.coreProps);\n if (corePropsEl) {\n const cp = parseCorePropsElement(corePropsEl);\n if (cp.title) opts.title = cp.title;\n if (cp.subject) opts.subject = cp.subject;\n if (cp.creator) opts.creator = cp.creator;\n if (cp.keywords) opts.keywords = cp.keywords;\n if (cp.description) opts.description = cp.description;\n if (cp.lastModifiedBy) opts.lastModifiedBy = cp.lastModifiedBy;\n if (cp.revision) opts.revision = parseInt(cp.revision, 10);\n }\n }\n\n // Shared strings — use descriptor.parse() for richer data, then extract strings for lookup\n let strings: string[] = [];\n if (xlsx.sharedStrings) {\n const parsed = sharedStringsDesc.parse(xlsx.sharedStrings, {} as never) as {\n entries: (string | Record<string, unknown>)[];\n };\n strings = extractStringsFromEntries(parsed);\n }\n\n // Create read context for descriptor pipeline\n const readContext = new XlsxReadContext(xlsx, strings);\n\n // Parse styles (fonts, fills, borders, cellXfs)\n if (xlsx.styles) {\n const parsedStyles = stylesDesc.parse(xlsx.styles, readContext) as unknown as Record<\n string,\n unknown\n >;\n readContext.parsedStyles = parsedStyles;\n\n // Expose styles sections onto the returned opts for round-trip. compiler.ts\n // re-emits dxfs from options; colors/tableStyles/cellStyles/styleExtensions\n // are surfaced here even though the compiler currently only consumes dxfs,\n // so callers retain the parsed data and the fields stay documented.\n if (parsedStyles.dxfs) opts.dxfs = parsedStyles.dxfs;\n if (parsedStyles.colors) opts.colors = parsedStyles.colors;\n if (parsedStyles.customCellStyles) opts.cellStyles = parsedStyles.customCellStyles;\n if (parsedStyles.styleExtensions) opts.styleExtensions = parsedStyles.styleExtensions;\n const tableStylesInfo = parsedStyles.tableStylesInfo as { tableStyles?: unknown[] } | undefined;\n if (tableStylesInfo?.tableStyles) opts.tableStyles = tableStylesInfo.tableStyles;\n }\n\n // Parse workbook via descriptor for richer data\n let sheetNames: string[] = [];\n if (xlsx.workbook) {\n const wbData = workbookDesc.parse(xlsx.workbook, readContext) as unknown as Record<\n string,\n unknown\n >;\n const sheets = wbData.sheets as\n | { name: string; sheetId: number; rId: string; state?: string }[]\n | undefined;\n if (sheets) sheetNames = sheets.map((s) => s.name);\n\n // Workbook-level properties\n if (wbData.protection) opts.workbookProtection = wbData.protection;\n if (wbData.bookView) opts.bookView = wbData.bookView;\n if (wbData.calcPr) opts.calcPr = wbData.calcPr;\n if (wbData.customViews) opts.customWorkbookViews = wbData.customViews;\n if (wbData.fileRecoveryPr) opts.fileRecoveryPr = wbData.fileRecoveryPr;\n if (wbData.functionGroups) opts.functionGroups = wbData.functionGroups;\n if (wbData.webPublishing) opts.webPublishing = wbData.webPublishing;\n if (wbData.fileSharing) opts.fileSharing = wbData.fileSharing;\n if (wbData.workbookPr) opts.workbookPr = wbData.workbookPr;\n if (wbData.volTypes) opts.volTypes = wbData.volTypes;\n if (wbData.webPublishObjects) opts.webPublishObjects = wbData.webPublishObjects;\n }\n\n // Parse worksheets using descriptor pipeline\n const worksheets: WorksheetOptions[] = [];\n for (let i = 0; i < xlsx.worksheets.length; i++) {\n const wsPath = xlsx.worksheets[i];\n const wsEl = xlsx.doc.get(wsPath);\n if (!wsEl) continue;\n\n const wsOpts = worksheetDesc.parse(wsEl, readContext) as Record<string, unknown>;\n if (sheetNames[i]) wsOpts.name = sheetNames[i];\n\n // ── Resolve sub-parts via worksheet relationships ──\n\n // Comments\n const commentRels = readContext.getWorksheetRelsByType(wsPath, \"/comments\");\n for (const cr of commentRels) {\n const commentEl = xlsx.doc.get(cr.target);\n if (!commentEl) continue;\n const commentData = commentsDesc.parse(commentEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n if (commentData.comments) {\n wsOpts.comments = commentData.comments;\n break; // one comments file per worksheet\n }\n }\n\n // Drawings (images + charts)\n const drawingRels = readContext.getWorksheetRelsByType(wsPath, \"/drawing\");\n for (const dr of drawingRels) {\n const drawingEl = xlsx.doc.get(dr.target);\n if (!drawingEl) continue;\n const drawingData = drawingDesc.parse(drawingEl, readContext) as Record<string, unknown>;\n if (drawingData.images) wsOpts.images = drawingData.images;\n if (drawingData.charts) wsOpts.charts = drawingData.charts;\n break;\n }\n\n // Tables\n const tableRels = readContext.getWorksheetRelsByType(wsPath, \"/table\");\n if (tableRels.length > 0) {\n const tables: Record<string, unknown>[] = [];\n for (const tr of tableRels) {\n const tableEl = xlsx.doc.get(tr.target);\n if (!tableEl) continue;\n const tableData = tableDesc.parse(tableEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n tables.push(tableData);\n }\n if (tables.length > 0) wsOpts.tables = tables;\n }\n\n // Pivot tables\n const pivotRels = readContext.getWorksheetRelsByType(wsPath, \"/pivotTable\");\n if (pivotRels.length > 0) {\n const pivotTables: Record<string, unknown>[] = [];\n for (const pr of pivotRels) {\n const pivotEl = xlsx.doc.get(pr.target);\n if (!pivotEl) continue;\n const pivotData = pivotTableDesc.parse(pivotEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n pivotTables.push(pivotData);\n }\n if (pivotTables.length > 0) wsOpts.pivotTables = pivotTables;\n }\n\n // Resolve external hyperlink URLs\n const hyperlinks = wsOpts.hyperlinks as Record<string, unknown>[] | undefined;\n if (hyperlinks) {\n for (const hl of hyperlinks) {\n const target = hl.target as Record<string, unknown> | undefined;\n if (target?.type === \"external\" && typeof target.url === \"string\") {\n const resolved = readContext.resolveWorksheetRel(wsPath, target.url);\n if (resolved) target.url = resolved;\n }\n }\n }\n\n worksheets.push(wsOpts as WorksheetOptions);\n }\n\n opts.worksheets = worksheets;\n\n // Chartsheets — parse chartsheet parts\n const chartsheetPaths = xlsx.doc.keys(\"xl/chartsheets/\").filter((k) => k.endsWith(\".xml\"));\n if (chartsheetPaths.length > 0) {\n const chartsheets: ChartsheetOptions[] = [];\n for (let i = 0; i < chartsheetPaths.length; i++) {\n const csEl = xlsx.doc.get(chartsheetPaths[i]);\n if (!csEl) continue;\n const csData = chartsheetDesc.parse(csEl, readContext) as unknown as Record<string, unknown>;\n if (sheetNames[worksheets.length + i]) csData.name = sheetNames[worksheets.length + i];\n chartsheets.push(csData as unknown as ChartsheetOptions);\n }\n if (chartsheets.length > 0) opts.chartsheets = chartsheets;\n }\n\n // Pivot cache definitions and records\n const pivotCacheDefPaths = xlsx.doc\n .keys(\"xl/pivotCache/\")\n .filter((k) => k.includes(\"pivotCacheDefinition\"));\n if (pivotCacheDefPaths.length > 0) {\n const pivotCaches: Record<string, unknown>[] = [];\n for (const pcdPath of pivotCacheDefPaths) {\n const pcdEl = xlsx.doc.get(pcdPath);\n if (!pcdEl) continue;\n const pcdData = pivotCacheDefDesc.parse(pcdEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n pivotCaches.push(pcdData);\n }\n if (pivotCaches.length > 0) opts.pivotCaches = pivotCaches;\n }\n\n const pivotCacheRecPaths = xlsx.doc\n .keys(\"xl/pivotCache/\")\n .filter((k) => k.includes(\"pivotCacheRecords\"));\n if (pivotCacheRecPaths.length > 0) {\n const pivotCacheRecords: Record<string, unknown>[] = [];\n for (const pcrPath of pivotCacheRecPaths) {\n const pcrEl = xlsx.doc.get(pcrPath);\n if (!pcrEl) continue;\n const pcrData = pivotCacheRecordsDesc.parse(pcrEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n pivotCacheRecords.push(pcrData);\n }\n if (pivotCacheRecords.length > 0) opts.pivotCacheRecords = pivotCacheRecords;\n }\n\n // Calculation chain\n const calcChainEl = xlsx.doc.get(\"xl/calcChain.xml\");\n if (calcChainEl) {\n const calcData = calcChainDesc.parse(calcChainEl, readContext) as unknown as Record<\n string,\n unknown\n >;\n if (calcData.cells) opts.calcChain = calcData.cells;\n }\n\n // External links\n const extLinkPaths = xlsx.doc.keys(\"xl/externalLinks/\").filter((k) => k.endsWith(\".xml\"));\n if (extLinkPaths.length > 0) {\n const externalLinks: Record<string, unknown>[] = [];\n for (const elPath of extLinkPaths) {\n const elEl = xlsx.doc.get(elPath);\n if (!elEl) continue;\n const elData = externalLinkDesc.parse(elEl, readContext) as Record<string, unknown>;\n\n // Resolve the external book target from the sibling rels file\n // (xl/externalLinks/_rels/externalLinkN.xml.rels), which compiler.ts writes.\n const elData2 = elData as { externalBook?: { target?: string } };\n if (elData2.externalBook) {\n const relsPath = externalLinkRelsPath(elPath);\n const relsEl = xlsx.doc.get(relsPath);\n if (relsEl) {\n for (const child of relsEl.elements ?? []) {\n if (child.name !== \"Relationship\") continue;\n const type = attr(child, \"Type\") ?? \"\";\n if (!type.includes(\"/externalLinkPath\")) continue;\n const target = attr(child, \"Target\");\n if (target) {\n elData2.externalBook.target = target;\n break;\n }\n }\n }\n }\n\n externalLinks.push(elData);\n }\n if (externalLinks.length > 0) opts.externalLinks = externalLinks;\n }\n\n return opts as WorkbookOptions;\n}\n"],"mappings":"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"}