@extend-ai/react-xlsx 0.16.1 → 0.16.3
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.
- package/dist/duke_sheets_wasm_bg.wasm +0 -0
- package/dist/index.cjs +1128 -83
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -1
- package/dist/index.d.ts +20 -1
- package/dist/index.js +1128 -83
- package/dist/index.js.map +1 -1
- package/dist/xlsx-worker.js +80 -12
- package/dist/xlsx-worker.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -4471,6 +4471,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4471
4471
|
const xml = readArchiveText2(archive, "xl/styles.xml");
|
|
4472
4472
|
if (!xml) {
|
|
4473
4473
|
return {
|
|
4474
|
+
differentialStyles: [],
|
|
4474
4475
|
defaultFont: null,
|
|
4475
4476
|
namedCellStyleByName: {},
|
|
4476
4477
|
styleById: {},
|
|
@@ -4480,6 +4481,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4480
4481
|
const document2 = parseXml2(xml);
|
|
4481
4482
|
if (!document2) {
|
|
4482
4483
|
return {
|
|
4484
|
+
differentialStyles: [],
|
|
4483
4485
|
defaultFont: null,
|
|
4484
4486
|
namedCellStyleByName: {},
|
|
4485
4487
|
styleById: {},
|
|
@@ -4496,6 +4498,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4496
4498
|
const tableStylesNode = getFirstDescendant(document2, "tableStyles");
|
|
4497
4499
|
if (!cellXfsNode) {
|
|
4498
4500
|
return {
|
|
4501
|
+
differentialStyles: [],
|
|
4499
4502
|
defaultFont: null,
|
|
4500
4503
|
namedCellStyleByName: {},
|
|
4501
4504
|
styleById: {},
|
|
@@ -4552,6 +4555,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4552
4555
|
sizePt: typeof normalFont.size === "number" ? normalFont.size : void 0
|
|
4553
4556
|
} : null;
|
|
4554
4557
|
return {
|
|
4558
|
+
differentialStyles,
|
|
4555
4559
|
defaultFont,
|
|
4556
4560
|
namedCellStyleByName,
|
|
4557
4561
|
styleById,
|
|
@@ -4592,10 +4596,11 @@ function parseSpreadsheetBooleanAttribute(node, name) {
|
|
|
4592
4596
|
}
|
|
4593
4597
|
return value !== "0" && value !== "false";
|
|
4594
4598
|
}
|
|
4595
|
-
function parseStandardConditionalFormatRule(cfRuleNode, ranges) {
|
|
4599
|
+
function parseStandardConditionalFormatRule(cfRuleNode, ranges, differentialStyles = []) {
|
|
4596
4600
|
const type = cfRuleNode.getAttribute("type");
|
|
4597
4601
|
const rawPriority = Number(cfRuleNode.getAttribute("priority") ?? Number.NaN);
|
|
4598
4602
|
const priority = Number.isFinite(rawPriority) ? rawPriority : Number.MAX_SAFE_INTEGER;
|
|
4603
|
+
const formulas = getChildElements(cfRuleNode, "formula").map((formulaNode) => (formulaNode.textContent ?? "").trim()).filter((formula) => formula.length > 0);
|
|
4599
4604
|
if (type === "colorScale") {
|
|
4600
4605
|
const colorScaleNode = getFirstChild(cfRuleNode, "colorScale");
|
|
4601
4606
|
if (!colorScaleNode) {
|
|
@@ -4656,7 +4661,34 @@ function parseStandardConditionalFormatRule(cfRuleNode, ranges) {
|
|
|
4656
4661
|
showValue: parseSpreadsheetBooleanAttribute(iconSetNode, "showValue")
|
|
4657
4662
|
};
|
|
4658
4663
|
}
|
|
4659
|
-
|
|
4664
|
+
const rawDxfId = Number(cfRuleNode.getAttribute("dxfId") ?? Number.NaN);
|
|
4665
|
+
if (!type || !Number.isFinite(rawDxfId)) {
|
|
4666
|
+
return null;
|
|
4667
|
+
}
|
|
4668
|
+
const style = differentialStyles[rawDxfId];
|
|
4669
|
+
if (!style) {
|
|
4670
|
+
return null;
|
|
4671
|
+
}
|
|
4672
|
+
const rawRank = Number(cfRuleNode.getAttribute("rank") ?? Number.NaN);
|
|
4673
|
+
const rawStdDev = Number(cfRuleNode.getAttribute("stdDev") ?? Number.NaN);
|
|
4674
|
+
return {
|
|
4675
|
+
aboveAverage: parseSpreadsheetBooleanAttribute(cfRuleNode, "aboveAverage"),
|
|
4676
|
+
bottom: parseSpreadsheetBooleanAttribute(cfRuleNode, "bottom"),
|
|
4677
|
+
equalAverage: parseSpreadsheetBooleanAttribute(cfRuleNode, "equalAverage"),
|
|
4678
|
+
formulas,
|
|
4679
|
+
kind: "styled",
|
|
4680
|
+
operator: cfRuleNode.getAttribute("operator") ?? void 0,
|
|
4681
|
+
percent: parseSpreadsheetBooleanAttribute(cfRuleNode, "percent"),
|
|
4682
|
+
priority,
|
|
4683
|
+
rank: Number.isFinite(rawRank) ? rawRank : void 0,
|
|
4684
|
+
ranges,
|
|
4685
|
+
ruleType: type,
|
|
4686
|
+
stdDev: Number.isFinite(rawStdDev) ? rawStdDev : void 0,
|
|
4687
|
+
stopIfTrue: parseSpreadsheetBooleanAttribute(cfRuleNode, "stopIfTrue"),
|
|
4688
|
+
style,
|
|
4689
|
+
text: cfRuleNode.getAttribute("text") ?? void 0,
|
|
4690
|
+
timePeriod: cfRuleNode.getAttribute("timePeriod") ?? void 0
|
|
4691
|
+
};
|
|
4660
4692
|
}
|
|
4661
4693
|
function parseExtendedConditionalFormatRule(cfRuleNode, ranges) {
|
|
4662
4694
|
const type = cfRuleNode.getAttribute("type");
|
|
@@ -4767,14 +4799,14 @@ function mergeConditionalFormatRule(baseRule, extendedRule) {
|
|
|
4767
4799
|
}
|
|
4768
4800
|
return baseRule;
|
|
4769
4801
|
}
|
|
4770
|
-
function parseConditionalFormatRules(document2) {
|
|
4802
|
+
function parseConditionalFormatRules(document2, differentialStyles = []) {
|
|
4771
4803
|
const standardRules = [];
|
|
4772
4804
|
const extendedRules = [];
|
|
4773
4805
|
getLocalElements(document2, "conditionalFormatting").forEach((conditionalFormattingNode) => {
|
|
4774
4806
|
const isExtended = conditionalFormattingNode.namespaceURI !== SPREADSHEET_NS;
|
|
4775
4807
|
const ranges = isExtended ? parseSqrefRanges(getFirstChild(conditionalFormattingNode, "sqref")?.textContent ?? "") : parseSqrefRanges(conditionalFormattingNode.getAttribute("sqref"));
|
|
4776
4808
|
getChildElements(conditionalFormattingNode, "cfRule").forEach((cfRuleNode) => {
|
|
4777
|
-
const parsedRule = isExtended ? parseExtendedConditionalFormatRule(cfRuleNode, ranges) : parseStandardConditionalFormatRule(cfRuleNode, ranges);
|
|
4809
|
+
const parsedRule = isExtended ? parseExtendedConditionalFormatRule(cfRuleNode, ranges) : parseStandardConditionalFormatRule(cfRuleNode, ranges, differentialStyles);
|
|
4778
4810
|
if (parsedRule) {
|
|
4779
4811
|
if (isExtended) {
|
|
4780
4812
|
extendedRules.push(parsedRule);
|
|
@@ -4820,8 +4852,9 @@ function parseSheetState(archive, path, options) {
|
|
|
4820
4852
|
return null;
|
|
4821
4853
|
}
|
|
4822
4854
|
const includeCachedFormulaValues = options?.includeCachedFormulaValues ?? true;
|
|
4855
|
+
const autoFilterRanges = parseSqrefRanges(getLocalElements(document2, "autoFilter")[0]?.getAttribute("ref"));
|
|
4823
4856
|
const cachedFormulaValues = {};
|
|
4824
|
-
const conditionalFormatRules = parseConditionalFormatRules(document2);
|
|
4857
|
+
const conditionalFormatRules = parseConditionalFormatRules(document2, options?.differentialStyles ?? []);
|
|
4825
4858
|
const sparklines = parseSheetSparklines(document2, options?.themePalette);
|
|
4826
4859
|
const sheetFormatNode = getLocalElements(document2, "sheetFormatPr")[0] ?? null;
|
|
4827
4860
|
const sheetViewNode = getLocalElements(document2, "sheetView")[0] ?? null;
|
|
@@ -4913,6 +4946,7 @@ function parseSheetState(archive, path, options) {
|
|
|
4913
4946
|
}
|
|
4914
4947
|
});
|
|
4915
4948
|
return {
|
|
4949
|
+
autoFilterRanges,
|
|
4916
4950
|
cachedFormulaValues,
|
|
4917
4951
|
columnWidthCharacterWidthPx,
|
|
4918
4952
|
colWidthOverridesPx,
|
|
@@ -5337,9 +5371,7 @@ function mapDukeFormControlKind(kind, themePalette) {
|
|
|
5337
5371
|
...resolveDukeDrawingText(kind.caption, themePalette),
|
|
5338
5372
|
kind: kind.objectType.toLowerCase() === "editbox" ? "editbox" : "unknown",
|
|
5339
5373
|
legacyObjectType: kind.legacyObjectType,
|
|
5340
|
-
objectType: kind.objectType
|
|
5341
|
-
rawObj: kind.rawObj,
|
|
5342
|
-
rawProperties: kind.rawProperties
|
|
5374
|
+
objectType: kind.objectType
|
|
5343
5375
|
};
|
|
5344
5376
|
}
|
|
5345
5377
|
}
|
|
@@ -5356,6 +5388,8 @@ function mapDukeFormControl(control, controlIndex, workbookSheetIndex, themePale
|
|
|
5356
5388
|
name: control.name,
|
|
5357
5389
|
printable: control.printable,
|
|
5358
5390
|
rawClientData: control.formControl.rawClientData,
|
|
5391
|
+
rawObj: control.formControl.rawObj,
|
|
5392
|
+
rawProperties: control.formControl.rawProperties,
|
|
5359
5393
|
sheetIndex: workbookSheetIndex,
|
|
5360
5394
|
title: control.title,
|
|
5361
5395
|
workbookSheetIndex,
|
|
@@ -6078,12 +6112,13 @@ function parseWorkbookStructureAssetsFromArchive(archive, options) {
|
|
|
6078
6112
|
const workbookSheets = parseWorkbookSheets(archive);
|
|
6079
6113
|
const theme = parseWorkbookTheme(archive);
|
|
6080
6114
|
const themePalette = buildThemePalette(theme);
|
|
6081
|
-
const { defaultFont, namedCellStyleByName, styleById, tableStyleByName } = parseWorkbookStyles(archive);
|
|
6115
|
+
const { defaultFont, differentialStyles, namedCellStyleByName, styleById, tableStyleByName } = parseWorkbookStyles(archive);
|
|
6082
6116
|
return {
|
|
6083
6117
|
contentTypes,
|
|
6084
6118
|
namedCellStyleByName,
|
|
6085
6119
|
sheetStatesByWorkbookSheetIndex: workbookSheets.map((sheet) => parseSheetState(archive, sheet.path, {
|
|
6086
6120
|
...options,
|
|
6121
|
+
differentialStyles,
|
|
6087
6122
|
defaultFont,
|
|
6088
6123
|
themePalette
|
|
6089
6124
|
})),
|
|
@@ -7237,6 +7272,7 @@ function buildSheetList(workbook, sheetStatesByWorkbookSheetIndex, themePalette,
|
|
|
7237
7272
|
const usedRange = worksheet.usedRange();
|
|
7238
7273
|
if (!usedRange) {
|
|
7239
7274
|
sheets.push({
|
|
7275
|
+
autoFilterRanges: sheetState?.autoFilterRanges ?? [],
|
|
7240
7276
|
cachedFormulaValues: sheetState?.cachedFormulaValues ?? {},
|
|
7241
7277
|
columnWidthCharacterWidthPx: sheetState?.columnWidthCharacterWidthPx,
|
|
7242
7278
|
colWidthOverridesPx: sheetState?.colWidthOverridesPx ?? {},
|
|
@@ -7323,6 +7359,7 @@ function buildSheetList(workbook, sheetStatesByWorkbookSheetIndex, themePalette,
|
|
|
7323
7359
|
return colWidthsCache;
|
|
7324
7360
|
};
|
|
7325
7361
|
const sheet = {
|
|
7362
|
+
autoFilterRanges: sheetState?.autoFilterRanges ?? [],
|
|
7326
7363
|
cachedFormulaValues: sheetState?.cachedFormulaValues ?? {},
|
|
7327
7364
|
columnWidthCharacterWidthPx: sheetState?.columnWidthCharacterWidthPx,
|
|
7328
7365
|
colWidthOverridesPx: sheetState?.colWidthOverridesPx ?? {},
|
|
@@ -7541,18 +7578,14 @@ function xlsxFormControlKindToDukeKind(kind) {
|
|
|
7541
7578
|
caption: xlsxCaptionToDukeText(kind.caption),
|
|
7542
7579
|
kind: "unknown",
|
|
7543
7580
|
legacyObjectType: kind.legacyObjectType,
|
|
7544
|
-
objectType: "EditBox"
|
|
7545
|
-
rawObj: kind.rawObj,
|
|
7546
|
-
rawProperties: kind.rawProperties
|
|
7581
|
+
objectType: "EditBox"
|
|
7547
7582
|
};
|
|
7548
7583
|
case "unknown":
|
|
7549
7584
|
return {
|
|
7550
7585
|
caption: kind.caption ? xlsxCaptionToDukeText(kind.caption) : void 0,
|
|
7551
7586
|
kind: "unknown",
|
|
7552
7587
|
legacyObjectType: kind.legacyObjectType,
|
|
7553
|
-
objectType: kind.objectType
|
|
7554
|
-
rawObj: kind.rawObj,
|
|
7555
|
-
rawProperties: kind.rawProperties
|
|
7588
|
+
objectType: kind.objectType
|
|
7556
7589
|
};
|
|
7557
7590
|
default:
|
|
7558
7591
|
return { ...kind };
|
|
@@ -7567,9 +7600,7 @@ function dukeFormControlKindToInput(kind) {
|
|
|
7567
7600
|
caption: kind.caption,
|
|
7568
7601
|
kind: "unknown",
|
|
7569
7602
|
legacyObjectType: kind.legacyObjectType,
|
|
7570
|
-
objectType: kind.objectType
|
|
7571
|
-
rawObj: kind.rawObj,
|
|
7572
|
-
rawProperties: kind.rawProperties
|
|
7603
|
+
objectType: kind.objectType
|
|
7573
7604
|
};
|
|
7574
7605
|
}
|
|
7575
7606
|
return { ...kind };
|
|
@@ -7581,7 +7612,9 @@ function formControlInputFromDukeControl(control) {
|
|
|
7581
7612
|
formControl: {
|
|
7582
7613
|
kind: dukeFormControlKindToInput(control.formControl.kind),
|
|
7583
7614
|
macroName: control.formControl.macroName,
|
|
7584
|
-
rawClientData: control.formControl.rawClientData
|
|
7615
|
+
rawClientData: control.formControl.rawClientData,
|
|
7616
|
+
rawObj: control.formControl.rawObj,
|
|
7617
|
+
rawProperties: control.formControl.rawProperties
|
|
7585
7618
|
},
|
|
7586
7619
|
hidden: control.hidden,
|
|
7587
7620
|
kind: "formControl",
|
|
@@ -7598,7 +7631,9 @@ function xlsxFormControlInputToDukeDrawing(input) {
|
|
|
7598
7631
|
formControl: {
|
|
7599
7632
|
kind: xlsxFormControlKindToDukeKind(input.kind),
|
|
7600
7633
|
macroName: input.macroName,
|
|
7601
|
-
rawClientData: input.rawClientData
|
|
7634
|
+
rawClientData: input.rawClientData,
|
|
7635
|
+
rawObj: input.kind.kind === "editbox" || input.kind.kind === "unknown" ? input.kind.rawObj : void 0,
|
|
7636
|
+
rawProperties: input.kind.kind === "editbox" || input.kind.kind === "unknown" ? input.kind.rawProperties : void 0
|
|
7602
7637
|
},
|
|
7603
7638
|
hidden: input.hidden,
|
|
7604
7639
|
kind: "formControl",
|
|
@@ -7705,9 +7740,9 @@ function rangeContainsCell(range, cell) {
|
|
|
7705
7740
|
const normalized = normalizeRange(range);
|
|
7706
7741
|
return cell.row >= normalized.start.row && cell.row <= normalized.end.row && cell.col >= normalized.start.col && cell.col <= normalized.end.col;
|
|
7707
7742
|
}
|
|
7708
|
-
function mapWorksheetTables(worksheet) {
|
|
7743
|
+
function mapWorksheetTables(worksheet, autoFilterRanges = []) {
|
|
7709
7744
|
const rawTables = worksheet?.tables ?? [];
|
|
7710
|
-
|
|
7745
|
+
const mappedTables = rawTables.flatMap((table, index) => {
|
|
7711
7746
|
const rawColumns = Array.isArray(table.columns) ? table.columns : [];
|
|
7712
7747
|
const rawName = typeof table.name === "string" ? table.name : `Table${index + 1}`;
|
|
7713
7748
|
const rawDisplayName = typeof table.displayName === "string" ? table.displayName : typeof table.name === "string" ? table.name : `Table ${index + 1}`;
|
|
@@ -7735,6 +7770,34 @@ function mapWorksheetTables(worksheet) {
|
|
|
7735
7770
|
totalsRowShown: resolveWorkbookTableBoolean(table.totalsRowShown)
|
|
7736
7771
|
}];
|
|
7737
7772
|
});
|
|
7773
|
+
const existingReferences = new Set(mappedTables.map((table) => table.reference));
|
|
7774
|
+
const mappedAutoFilterTables = autoFilterRanges.flatMap((range, index) => {
|
|
7775
|
+
const reference = rangeToA1(range);
|
|
7776
|
+
if (existingReferences.has(reference)) {
|
|
7777
|
+
return [];
|
|
7778
|
+
}
|
|
7779
|
+
const columnCount = Math.max(0, range.end.col - range.start.col + 1);
|
|
7780
|
+
const columns = Array.from({ length: columnCount }, (_, columnIndex) => {
|
|
7781
|
+
const headerValue = worksheet ? decodeHtmlEntities(worksheet.getFormattedValueAt(range.start.row, range.start.col + columnIndex) ?? "") : "";
|
|
7782
|
+
return {
|
|
7783
|
+
id: columnIndex + 1,
|
|
7784
|
+
index: columnIndex,
|
|
7785
|
+
name: headerValue.trim().length > 0 ? headerValue : `Column ${columnIndex + 1}`
|
|
7786
|
+
};
|
|
7787
|
+
});
|
|
7788
|
+
return [{
|
|
7789
|
+
columns,
|
|
7790
|
+
displayName: `AutoFilter ${index + 1}`,
|
|
7791
|
+
end: range.end,
|
|
7792
|
+
headerRowCount: 1,
|
|
7793
|
+
name: `__autofilter_${index + 1}_${reference}`,
|
|
7794
|
+
reference,
|
|
7795
|
+
start: range.start,
|
|
7796
|
+
totalsRowCount: 0,
|
|
7797
|
+
totalsRowShown: false
|
|
7798
|
+
}];
|
|
7799
|
+
});
|
|
7800
|
+
return [...mappedTables, ...mappedAutoFilterTables];
|
|
7738
7801
|
}
|
|
7739
7802
|
function resolveWorkbookTableCount(value, fallback) {
|
|
7740
7803
|
if (typeof value === "number" && Number.isFinite(value) && value >= 0) {
|
|
@@ -9039,8 +9102,8 @@ function useXlsxViewerController(options) {
|
|
|
9039
9102
|
}
|
|
9040
9103
|
}, [activeSheetIndex, sheets, workbook]);
|
|
9041
9104
|
const tables = React.useMemo(
|
|
9042
|
-
() => isWorkerBacked ? workerTablesByWorkbookSheetIndex[activeSheet?.workbookSheetIndex ?? -1] ?? [] : mapWorksheetTables(getActiveWorksheet()),
|
|
9043
|
-
[activeSheet?.workbookSheetIndex, getActiveWorksheet, isWorkerBacked, revision, workerTablesByWorkbookSheetIndex]
|
|
9105
|
+
() => isWorkerBacked ? workerTablesByWorkbookSheetIndex[activeSheet?.workbookSheetIndex ?? -1] ?? [] : mapWorksheetTables(getActiveWorksheet(), activeSheet?.autoFilterRanges ?? []),
|
|
9106
|
+
[activeSheet?.autoFilterRanges, activeSheet?.workbookSheetIndex, getActiveWorksheet, isWorkerBacked, revision, workerTablesByWorkbookSheetIndex]
|
|
9044
9107
|
);
|
|
9045
9108
|
const getCellSnapshotAsync = React.useCallback((workbookSheetIndex, row, col) => {
|
|
9046
9109
|
if (!isWorkerBacked) {
|
|
@@ -9642,11 +9705,11 @@ function useXlsxViewerController(options) {
|
|
|
9642
9705
|
if (currentControl.formControl.kind.kind === "unknown" && nextKind.kind === "unknown") {
|
|
9643
9706
|
nextKind = {
|
|
9644
9707
|
...nextKind,
|
|
9645
|
-
legacyObjectType: nextKind.legacyObjectType ?? currentControl.formControl.kind.legacyObjectType
|
|
9646
|
-
rawObj: nextKind.rawObj ?? currentControl.formControl.kind.rawObj,
|
|
9647
|
-
rawProperties: nextKind.rawProperties ?? currentControl.formControl.kind.rawProperties
|
|
9708
|
+
legacyObjectType: nextKind.legacyObjectType ?? currentControl.formControl.kind.legacyObjectType
|
|
9648
9709
|
};
|
|
9649
9710
|
}
|
|
9711
|
+
const patchedRawObj = patch.kind?.kind === "editbox" || patch.kind?.kind === "unknown" ? patch.kind.rawObj : void 0;
|
|
9712
|
+
const patchedRawProperties = patch.kind?.kind === "editbox" || patch.kind?.kind === "unknown" ? patch.kind.rawProperties : void 0;
|
|
9650
9713
|
const nextInput = {
|
|
9651
9714
|
altText: "altText" in patch ? patch.altText : currentControl.altText,
|
|
9652
9715
|
anchor: nextAnchor,
|
|
@@ -9654,7 +9717,9 @@ function useXlsxViewerController(options) {
|
|
|
9654
9717
|
...currentInput.formControl,
|
|
9655
9718
|
kind: nextKind,
|
|
9656
9719
|
macroName: "macroName" in patch ? patch.macroName : currentControl.formControl.macroName,
|
|
9657
|
-
rawClientData: "rawClientData" in patch ? patch.rawClientData : currentControl.formControl.rawClientData
|
|
9720
|
+
rawClientData: "rawClientData" in patch ? patch.rawClientData : currentControl.formControl.rawClientData,
|
|
9721
|
+
rawObj: patchedRawObj ?? currentControl.formControl.rawObj,
|
|
9722
|
+
rawProperties: patchedRawProperties ?? currentControl.formControl.rawProperties
|
|
9658
9723
|
},
|
|
9659
9724
|
hidden: "hidden" in patch ? patch.hidden : currentControl.hidden,
|
|
9660
9725
|
kind: "formControl",
|
|
@@ -11089,6 +11154,570 @@ function useXlsxViewerController(options) {
|
|
|
11089
11154
|
var React4 = __toESM(require("react"), 1);
|
|
11090
11155
|
var import_react_virtual = require("@tanstack/react-virtual");
|
|
11091
11156
|
|
|
11157
|
+
// src/builtin-table-styles.ts
|
|
11158
|
+
var BUILTIN_TABLE_STYLES = {
|
|
11159
|
+
TableStyleLight1: {
|
|
11160
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" }, "bottom": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11161
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11162
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11163
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11164
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11165
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11166
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11167
|
+
},
|
|
11168
|
+
TableStyleLight2: {
|
|
11169
|
+
wholeTable: { "font": { "color": { "theme": 4, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 4 }, "style": "thin" }, "bottom": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11170
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11171
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11172
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } } },
|
|
11173
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } } },
|
|
11174
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11175
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } }
|
|
11176
|
+
},
|
|
11177
|
+
TableStyleLight3: {
|
|
11178
|
+
wholeTable: { "font": { "color": { "theme": 5, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 5 }, "style": "thin" }, "bottom": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11179
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11180
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11181
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } } },
|
|
11182
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } } },
|
|
11183
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } },
|
|
11184
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } }
|
|
11185
|
+
},
|
|
11186
|
+
TableStyleLight4: {
|
|
11187
|
+
wholeTable: { "font": { "color": { "theme": 6, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 6 }, "style": "thin" }, "bottom": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11188
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11189
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11190
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } } },
|
|
11191
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } } },
|
|
11192
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11193
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } }
|
|
11194
|
+
},
|
|
11195
|
+
TableStyleLight5: {
|
|
11196
|
+
wholeTable: { "font": { "color": { "theme": 7, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 7 }, "style": "thin" }, "bottom": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11197
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11198
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11199
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } } },
|
|
11200
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } } },
|
|
11201
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } },
|
|
11202
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } }
|
|
11203
|
+
},
|
|
11204
|
+
TableStyleLight6: {
|
|
11205
|
+
wholeTable: { "font": { "color": { "theme": 8, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 8 }, "style": "thin" }, "bottom": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11206
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11207
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11208
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } } },
|
|
11209
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } } },
|
|
11210
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11211
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } }
|
|
11212
|
+
},
|
|
11213
|
+
TableStyleLight7: {
|
|
11214
|
+
wholeTable: { "font": { "color": { "theme": 9, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 9 }, "style": "thin" }, "bottom": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11215
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11216
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11217
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } } },
|
|
11218
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } } },
|
|
11219
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } },
|
|
11220
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } }
|
|
11221
|
+
},
|
|
11222
|
+
TableStyleLight8: {
|
|
11223
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" }, "right": { "color": { "theme": 1 }, "style": "thin" }, "bottom": { "color": { "theme": 1 }, "style": "thin" }, "left": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11224
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11225
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11226
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11227
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11228
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11229
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11230
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11231
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 1 }, "style": "thin" } } }
|
|
11232
|
+
},
|
|
11233
|
+
TableStyleLight9: {
|
|
11234
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "thin" }, "right": { "color": { "theme": 4 }, "style": "thin" }, "bottom": { "color": { "theme": 4 }, "style": "thin" }, "left": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11235
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11236
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "double" } } },
|
|
11237
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11238
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11239
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11240
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11241
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11242
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 4 }, "style": "thin" } } }
|
|
11243
|
+
},
|
|
11244
|
+
TableStyleLight10: {
|
|
11245
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "thin" }, "right": { "color": { "theme": 5 }, "style": "thin" }, "bottom": { "color": { "theme": 5 }, "style": "thin" }, "left": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11246
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11247
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "double" } } },
|
|
11248
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11249
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11250
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11251
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11252
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11253
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 5 }, "style": "thin" } } }
|
|
11254
|
+
},
|
|
11255
|
+
TableStyleLight11: {
|
|
11256
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "thin" }, "right": { "color": { "theme": 6 }, "style": "thin" }, "bottom": { "color": { "theme": 6 }, "style": "thin" }, "left": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11257
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11258
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "double" } } },
|
|
11259
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11260
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11261
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11262
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11263
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11264
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 6 }, "style": "thin" } } }
|
|
11265
|
+
},
|
|
11266
|
+
TableStyleLight12: {
|
|
11267
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "thin" }, "right": { "color": { "theme": 7 }, "style": "thin" }, "bottom": { "color": { "theme": 7 }, "style": "thin" }, "left": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11268
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11269
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "double" } } },
|
|
11270
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11271
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11272
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11273
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11274
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11275
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 7 }, "style": "thin" } } }
|
|
11276
|
+
},
|
|
11277
|
+
TableStyleLight13: {
|
|
11278
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "thin" }, "right": { "color": { "theme": 8 }, "style": "thin" }, "bottom": { "color": { "theme": 8 }, "style": "thin" }, "left": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11279
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11280
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "double" } } },
|
|
11281
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11282
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11283
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11284
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11285
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11286
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 8 }, "style": "thin" } } }
|
|
11287
|
+
},
|
|
11288
|
+
TableStyleLight14: {
|
|
11289
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "thin" }, "right": { "color": { "theme": 9 }, "style": "thin" }, "bottom": { "color": { "theme": 9 }, "style": "thin" }, "left": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11290
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11291
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "double" } } },
|
|
11292
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11293
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11294
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11295
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11296
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11297
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 9 }, "style": "thin" } } }
|
|
11298
|
+
},
|
|
11299
|
+
TableStyleLight15: {
|
|
11300
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" }, "right": { "color": { "theme": 1 }, "style": "thin" }, "bottom": { "color": { "theme": 1 }, "style": "thin" }, "left": { "color": { "theme": 1 }, "style": "thin" }, "horizontal": { "color": { "theme": 1 }, "style": "thin" }, "vertical": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11301
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11302
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11303
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11304
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11305
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11306
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11307
|
+
},
|
|
11308
|
+
TableStyleLight16: {
|
|
11309
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "thin" }, "right": { "color": { "theme": 4 }, "style": "thin" }, "bottom": { "color": { "theme": 4 }, "style": "thin" }, "left": { "color": { "theme": 4 }, "style": "thin" }, "horizontal": { "color": { "theme": 4 }, "style": "thin" }, "vertical": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11310
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 4 }, "style": "medium" } } },
|
|
11311
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "double" } } },
|
|
11312
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11313
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11314
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11315
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } }
|
|
11316
|
+
},
|
|
11317
|
+
TableStyleLight17: {
|
|
11318
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "thin" }, "right": { "color": { "theme": 5 }, "style": "thin" }, "bottom": { "color": { "theme": 5 }, "style": "thin" }, "left": { "color": { "theme": 5 }, "style": "thin" }, "horizontal": { "color": { "theme": 5 }, "style": "thin" }, "vertical": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11319
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 5 }, "style": "medium" } } },
|
|
11320
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "double" } } },
|
|
11321
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11322
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11323
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } },
|
|
11324
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } }
|
|
11325
|
+
},
|
|
11326
|
+
TableStyleLight18: {
|
|
11327
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "thin" }, "right": { "color": { "theme": 6 }, "style": "thin" }, "bottom": { "color": { "theme": 6 }, "style": "thin" }, "left": { "color": { "theme": 6 }, "style": "thin" }, "horizontal": { "color": { "theme": 6 }, "style": "thin" }, "vertical": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11328
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 6 }, "style": "medium" } } },
|
|
11329
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "double" } } },
|
|
11330
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11331
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11332
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11333
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } }
|
|
11334
|
+
},
|
|
11335
|
+
TableStyleLight19: {
|
|
11336
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "thin" }, "right": { "color": { "theme": 7 }, "style": "thin" }, "bottom": { "color": { "theme": 7 }, "style": "thin" }, "left": { "color": { "theme": 7 }, "style": "thin" }, "horizontal": { "color": { "theme": 7 }, "style": "thin" }, "vertical": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11337
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 7 }, "style": "medium" } } },
|
|
11338
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "double" } } },
|
|
11339
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11340
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11341
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } },
|
|
11342
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } }
|
|
11343
|
+
},
|
|
11344
|
+
TableStyleLight20: {
|
|
11345
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "thin" }, "right": { "color": { "theme": 8 }, "style": "thin" }, "bottom": { "color": { "theme": 8 }, "style": "thin" }, "left": { "color": { "theme": 8 }, "style": "thin" }, "horizontal": { "color": { "theme": 8 }, "style": "thin" }, "vertical": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11346
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 8 }, "style": "medium" } } },
|
|
11347
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "double" } } },
|
|
11348
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11349
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11350
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11351
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } }
|
|
11352
|
+
},
|
|
11353
|
+
TableStyleLight21: {
|
|
11354
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "thin" }, "right": { "color": { "theme": 9 }, "style": "thin" }, "bottom": { "color": { "theme": 9 }, "style": "thin" }, "left": { "color": { "theme": 9 }, "style": "thin" }, "horizontal": { "color": { "theme": 9 }, "style": "thin" }, "vertical": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11355
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 9 }, "style": "medium" } } },
|
|
11356
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "double" } } },
|
|
11357
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11358
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11359
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } },
|
|
11360
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } }
|
|
11361
|
+
},
|
|
11362
|
+
TableStyleMedium1: {
|
|
11363
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" }, "right": { "color": { "theme": 1 }, "style": "thin" }, "bottom": { "color": { "theme": 1 }, "style": "thin" }, "left": { "color": { "theme": 1 }, "style": "thin" }, "horizontal": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11364
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11365
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11366
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11367
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11368
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11369
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11370
|
+
},
|
|
11371
|
+
TableStyleMedium2: {
|
|
11372
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" } } },
|
|
11373
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11374
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "double" } } },
|
|
11375
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11376
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11377
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11378
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } }
|
|
11379
|
+
},
|
|
11380
|
+
TableStyleMedium3: {
|
|
11381
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" } } },
|
|
11382
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11383
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "double" } } },
|
|
11384
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11385
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11386
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } },
|
|
11387
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } }
|
|
11388
|
+
},
|
|
11389
|
+
TableStyleMedium4: {
|
|
11390
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" } } },
|
|
11391
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11392
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "double" } } },
|
|
11393
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11394
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11395
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11396
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } }
|
|
11397
|
+
},
|
|
11398
|
+
TableStyleMedium5: {
|
|
11399
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" } } },
|
|
11400
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11401
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "double" } } },
|
|
11402
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11403
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11404
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } },
|
|
11405
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } }
|
|
11406
|
+
},
|
|
11407
|
+
TableStyleMedium6: {
|
|
11408
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" } } },
|
|
11409
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11410
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "double" } } },
|
|
11411
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11412
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11413
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11414
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } }
|
|
11415
|
+
},
|
|
11416
|
+
TableStyleMedium7: {
|
|
11417
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" } } },
|
|
11418
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11419
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "double" } } },
|
|
11420
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11421
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11422
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } },
|
|
11423
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } }
|
|
11424
|
+
},
|
|
11425
|
+
TableStyleMedium8: {
|
|
11426
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" }, "border": { "horizontal": { "color": { "theme": 0 }, "style": "thin" }, "vertical": { "color": { "theme": 0 }, "style": "thin" } } },
|
|
11427
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11428
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11429
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11430
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11431
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } },
|
|
11432
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } }
|
|
11433
|
+
},
|
|
11434
|
+
TableStyleMedium9: {
|
|
11435
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" }, "border": { "horizontal": { "color": { "theme": 0 }, "style": "thin" }, "vertical": { "color": { "theme": 0 }, "style": "thin" } } },
|
|
11436
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11437
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11438
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11439
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11440
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } },
|
|
11441
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } }
|
|
11442
|
+
},
|
|
11443
|
+
TableStyleMedium10: {
|
|
11444
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" }, "border": { "horizontal": { "color": { "theme": 0 }, "style": "thin" }, "vertical": { "color": { "theme": 0 }, "style": "thin" } } },
|
|
11445
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11446
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11447
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11448
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11449
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } },
|
|
11450
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } }
|
|
11451
|
+
},
|
|
11452
|
+
TableStyleMedium11: {
|
|
11453
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" }, "border": { "horizontal": { "color": { "theme": 0 }, "style": "thin" }, "vertical": { "color": { "theme": 0 }, "style": "thin" } } },
|
|
11454
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11455
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11456
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11457
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11458
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } },
|
|
11459
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } }
|
|
11460
|
+
},
|
|
11461
|
+
TableStyleMedium12: {
|
|
11462
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" }, "border": { "horizontal": { "color": { "theme": 0 }, "style": "thin" }, "vertical": { "color": { "theme": 0 }, "style": "thin" } } },
|
|
11463
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11464
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11465
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11466
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11467
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } },
|
|
11468
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } }
|
|
11469
|
+
},
|
|
11470
|
+
TableStyleMedium13: {
|
|
11471
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" }, "border": { "horizontal": { "color": { "theme": 0 }, "style": "thin" }, "vertical": { "color": { "theme": 0 }, "style": "thin" } } },
|
|
11472
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11473
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11474
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11475
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11476
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } },
|
|
11477
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } }
|
|
11478
|
+
},
|
|
11479
|
+
TableStyleMedium14: {
|
|
11480
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" }, "border": { "horizontal": { "color": { "theme": 0 }, "style": "thin" }, "vertical": { "color": { "theme": 0 }, "style": "thin" } } },
|
|
11481
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11482
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11483
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11484
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11485
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } },
|
|
11486
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } }
|
|
11487
|
+
},
|
|
11488
|
+
TableStyleMedium15: {
|
|
11489
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "right": { "color": { "theme": 1 }, "style": "thin" }, "bottom": { "color": { "theme": 1 }, "style": "medium" }, "left": { "color": { "theme": 1 }, "style": "thin" }, "horizontal": { "color": { "theme": 1 }, "style": "thin" }, "vertical": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11490
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11491
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11492
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11493
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11494
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11495
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11496
|
+
},
|
|
11497
|
+
TableStyleMedium16: {
|
|
11498
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11499
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11500
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11501
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11502
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11503
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11504
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11505
|
+
},
|
|
11506
|
+
TableStyleMedium17: {
|
|
11507
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11508
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11509
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11510
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11511
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11512
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11513
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11514
|
+
},
|
|
11515
|
+
TableStyleMedium18: {
|
|
11516
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11517
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11518
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11519
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11520
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11521
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11522
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11523
|
+
},
|
|
11524
|
+
TableStyleMedium19: {
|
|
11525
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11526
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11527
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11528
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11529
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11530
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11531
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11532
|
+
},
|
|
11533
|
+
TableStyleMedium20: {
|
|
11534
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11535
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11536
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11537
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11538
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11539
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11540
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11541
|
+
},
|
|
11542
|
+
TableStyleMedium21: {
|
|
11543
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11544
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11545
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11546
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11547
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11548
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11549
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11550
|
+
},
|
|
11551
|
+
TableStyleMedium22: {
|
|
11552
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" }, "right": { "color": { "theme": 1 }, "style": "thin" }, "bottom": { "color": { "theme": 1 }, "style": "thin" }, "left": { "color": { "theme": 1 }, "style": "thin" }, "horizontal": { "color": { "theme": 1 }, "style": "thin" }, "vertical": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11553
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11554
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11555
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11556
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11557
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } },
|
|
11558
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } }
|
|
11559
|
+
},
|
|
11560
|
+
TableStyleMedium23: {
|
|
11561
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" }, "vertical": { "color": { "theme": 4, "tint": 0.4 }, "style": "thin" } } },
|
|
11562
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11563
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "medium" } } },
|
|
11564
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11565
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11566
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } },
|
|
11567
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } }
|
|
11568
|
+
},
|
|
11569
|
+
TableStyleMedium24: {
|
|
11570
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" }, "vertical": { "color": { "theme": 5, "tint": 0.4 }, "style": "thin" } } },
|
|
11571
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11572
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "medium" } } },
|
|
11573
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11574
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11575
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } },
|
|
11576
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } }
|
|
11577
|
+
},
|
|
11578
|
+
TableStyleMedium25: {
|
|
11579
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" }, "vertical": { "color": { "theme": 6, "tint": 0.4 }, "style": "thin" } } },
|
|
11580
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11581
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "medium" } } },
|
|
11582
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11583
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11584
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } },
|
|
11585
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } }
|
|
11586
|
+
},
|
|
11587
|
+
TableStyleMedium26: {
|
|
11588
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" }, "vertical": { "color": { "theme": 7, "tint": 0.4 }, "style": "thin" } } },
|
|
11589
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11590
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "medium" } } },
|
|
11591
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11592
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11593
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } },
|
|
11594
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } }
|
|
11595
|
+
},
|
|
11596
|
+
TableStyleMedium27: {
|
|
11597
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" }, "vertical": { "color": { "theme": 8, "tint": 0.4 }, "style": "thin" } } },
|
|
11598
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11599
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "medium" } } },
|
|
11600
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11601
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11602
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } },
|
|
11603
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } }
|
|
11604
|
+
},
|
|
11605
|
+
TableStyleMedium28: {
|
|
11606
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "right": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "bottom": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "left": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "horizontal": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" }, "vertical": { "color": { "theme": 9, "tint": 0.4 }, "style": "thin" } } },
|
|
11607
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11608
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "medium" } } },
|
|
11609
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11610
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11611
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } },
|
|
11612
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } }
|
|
11613
|
+
},
|
|
11614
|
+
TableStyleDark1: {
|
|
11615
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.45 }, "fillType": "solid" } },
|
|
11616
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11617
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.15 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11618
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11619
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11620
|
+
firstRowStripe: { "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" } },
|
|
11621
|
+
firstColumnStripe: { "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" } }
|
|
11622
|
+
},
|
|
11623
|
+
TableStyleDark2: {
|
|
11624
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11625
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11626
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11627
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11628
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11629
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" } },
|
|
11630
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" } }
|
|
11631
|
+
},
|
|
11632
|
+
TableStyleDark3: {
|
|
11633
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11634
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11635
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11636
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11637
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11638
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" } },
|
|
11639
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" } }
|
|
11640
|
+
},
|
|
11641
|
+
TableStyleDark4: {
|
|
11642
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11643
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11644
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11645
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11646
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11647
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" } },
|
|
11648
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" } }
|
|
11649
|
+
},
|
|
11650
|
+
TableStyleDark5: {
|
|
11651
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11652
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11653
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11654
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11655
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11656
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" } },
|
|
11657
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" } }
|
|
11658
|
+
},
|
|
11659
|
+
TableStyleDark6: {
|
|
11660
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11661
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11662
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11663
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11664
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11665
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" } },
|
|
11666
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" } }
|
|
11667
|
+
},
|
|
11668
|
+
TableStyleDark7: {
|
|
11669
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11670
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11671
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11672
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11673
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11674
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" } },
|
|
11675
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" } }
|
|
11676
|
+
},
|
|
11677
|
+
TableStyleDark8: {
|
|
11678
|
+
wholeTable: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11679
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11680
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11681
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11682
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11683
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } },
|
|
11684
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } }
|
|
11685
|
+
},
|
|
11686
|
+
TableStyleDark9: {
|
|
11687
|
+
wholeTable: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11688
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11689
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11690
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11691
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11692
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } },
|
|
11693
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } }
|
|
11694
|
+
},
|
|
11695
|
+
TableStyleDark10: {
|
|
11696
|
+
wholeTable: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11697
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11698
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11699
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11700
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11701
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } },
|
|
11702
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } }
|
|
11703
|
+
},
|
|
11704
|
+
TableStyleDark11: {
|
|
11705
|
+
wholeTable: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11706
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11707
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11708
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11709
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11710
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } },
|
|
11711
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } }
|
|
11712
|
+
}
|
|
11713
|
+
};
|
|
11714
|
+
function resolveBuiltinTableStyle(name) {
|
|
11715
|
+
if (!name || !Object.prototype.hasOwnProperty.call(BUILTIN_TABLE_STYLES, name)) {
|
|
11716
|
+
return null;
|
|
11717
|
+
}
|
|
11718
|
+
return BUILTIN_TABLE_STYLES[name] ?? null;
|
|
11719
|
+
}
|
|
11720
|
+
|
|
11092
11721
|
// src/cell-text-clip.ts
|
|
11093
11722
|
function resolveCellTextClipOverscan(overscan, usesWrappedText) {
|
|
11094
11723
|
return {
|
|
@@ -20721,7 +21350,7 @@ function canCellTextOverflow(data) {
|
|
|
20721
21350
|
return false;
|
|
20722
21351
|
}
|
|
20723
21352
|
const textAlign = data.style.textAlign;
|
|
20724
|
-
if (textAlign && textAlign !== "left" && textAlign !== "start" && textAlign !== "center") {
|
|
21353
|
+
if (textAlign && textAlign !== "left" && textAlign !== "start" && textAlign !== "center" && textAlign !== "right" && textAlign !== "end") {
|
|
20725
21354
|
return false;
|
|
20726
21355
|
}
|
|
20727
21356
|
return true;
|
|
@@ -21197,7 +21826,87 @@ function mergeResolvedCellStyle(base, overlay, options) {
|
|
|
21197
21826
|
}
|
|
21198
21827
|
return nextStyle;
|
|
21199
21828
|
}
|
|
21200
|
-
function
|
|
21829
|
+
function resolveBorderEdgePriority(edge) {
|
|
21830
|
+
const style = typeof edge?.style === "string" ? edge.style : "none";
|
|
21831
|
+
const stylePriority = {
|
|
21832
|
+
dashed: 2,
|
|
21833
|
+
dashDot: 3,
|
|
21834
|
+
dashDotDot: 3,
|
|
21835
|
+
dotted: 1,
|
|
21836
|
+
double: 8,
|
|
21837
|
+
hair: 0,
|
|
21838
|
+
medium: 6,
|
|
21839
|
+
mediumDashDot: 5,
|
|
21840
|
+
mediumDashDotDot: 5,
|
|
21841
|
+
mediumDashed: 5,
|
|
21842
|
+
none: -1,
|
|
21843
|
+
slantDashDot: 4,
|
|
21844
|
+
thick: 7,
|
|
21845
|
+
thin: 4
|
|
21846
|
+
};
|
|
21847
|
+
return stylePriority[style] ?? -1;
|
|
21848
|
+
}
|
|
21849
|
+
function resolvePreferredBorderEdge(current, candidate) {
|
|
21850
|
+
if (!candidate || typeof candidate.style !== "string" || candidate.style === "none") {
|
|
21851
|
+
return current ?? null;
|
|
21852
|
+
}
|
|
21853
|
+
if (!current) {
|
|
21854
|
+
return candidate;
|
|
21855
|
+
}
|
|
21856
|
+
const currentPriority = resolveBorderEdgePriority(current);
|
|
21857
|
+
const candidatePriority = resolveBorderEdgePriority(candidate);
|
|
21858
|
+
if (candidatePriority > currentPriority) {
|
|
21859
|
+
return candidate;
|
|
21860
|
+
}
|
|
21861
|
+
return current;
|
|
21862
|
+
}
|
|
21863
|
+
function resolveMergedRegionBorderOverlay(row, col, merge, resolveBaseCellStyle) {
|
|
21864
|
+
const rowSpan = Math.max(1, merge?.rowSpan ?? 1);
|
|
21865
|
+
const colSpan = Math.max(1, merge?.colSpan ?? 1);
|
|
21866
|
+
if (rowSpan === 1 && colSpan === 1) {
|
|
21867
|
+
return null;
|
|
21868
|
+
}
|
|
21869
|
+
const endRow = row + rowSpan - 1;
|
|
21870
|
+
const endCol = col + colSpan - 1;
|
|
21871
|
+
let top = null;
|
|
21872
|
+
let right = null;
|
|
21873
|
+
let bottom = null;
|
|
21874
|
+
let left = null;
|
|
21875
|
+
for (let targetCol = col; targetCol <= endCol; targetCol += 1) {
|
|
21876
|
+
const topStyle = resolveBaseCellStyle(row, targetCol);
|
|
21877
|
+
const topBorder = topStyle?.border;
|
|
21878
|
+
top = resolvePreferredBorderEdge(top, topBorder?.top ?? null);
|
|
21879
|
+
const bottomStyle = resolveBaseCellStyle(endRow, targetCol);
|
|
21880
|
+
const bottomBorder = bottomStyle?.border;
|
|
21881
|
+
bottom = resolvePreferredBorderEdge(bottom, bottomBorder?.bottom ?? null);
|
|
21882
|
+
}
|
|
21883
|
+
for (let targetRow = row; targetRow <= endRow; targetRow += 1) {
|
|
21884
|
+
const leftStyle = resolveBaseCellStyle(targetRow, col);
|
|
21885
|
+
const leftBorder = leftStyle?.border;
|
|
21886
|
+
left = resolvePreferredBorderEdge(left, leftBorder?.left ?? null);
|
|
21887
|
+
const rightStyle = resolveBaseCellStyle(targetRow, endCol);
|
|
21888
|
+
const rightBorder = rightStyle?.border;
|
|
21889
|
+
right = resolvePreferredBorderEdge(right, rightBorder?.right ?? null);
|
|
21890
|
+
}
|
|
21891
|
+
const border = {};
|
|
21892
|
+
if (top) {
|
|
21893
|
+
border.top = top;
|
|
21894
|
+
}
|
|
21895
|
+
if (right) {
|
|
21896
|
+
border.right = right;
|
|
21897
|
+
}
|
|
21898
|
+
if (bottom) {
|
|
21899
|
+
border.bottom = bottom;
|
|
21900
|
+
}
|
|
21901
|
+
if (left) {
|
|
21902
|
+
border.left = left;
|
|
21903
|
+
}
|
|
21904
|
+
if (Object.keys(border).length === 0) {
|
|
21905
|
+
return null;
|
|
21906
|
+
}
|
|
21907
|
+
return { border };
|
|
21908
|
+
}
|
|
21909
|
+
function normalizeTableStyleEdges(style, region, row, col) {
|
|
21201
21910
|
if (!style) {
|
|
21202
21911
|
return null;
|
|
21203
21912
|
}
|
|
@@ -21205,23 +21914,32 @@ function normalizeTableStyleEdges(style, table, row, col) {
|
|
|
21205
21914
|
if (!border) {
|
|
21206
21915
|
return style;
|
|
21207
21916
|
}
|
|
21208
|
-
const nextBorder = {
|
|
21209
|
-
if (
|
|
21210
|
-
|
|
21211
|
-
nextBorder.bottom = nextBorder.bottom ?? nextBorder.horizontal;
|
|
21212
|
-
}
|
|
21213
|
-
delete nextBorder.horizontal;
|
|
21917
|
+
const nextBorder = {};
|
|
21918
|
+
if (border.top && row === region.startRow) {
|
|
21919
|
+
nextBorder.top = border.top;
|
|
21214
21920
|
}
|
|
21215
|
-
if (
|
|
21216
|
-
|
|
21217
|
-
nextBorder.right = nextBorder.right ?? nextBorder.vertical;
|
|
21218
|
-
}
|
|
21219
|
-
delete nextBorder.vertical;
|
|
21921
|
+
if (border.bottom && row === region.endRow) {
|
|
21922
|
+
nextBorder.bottom = border.bottom;
|
|
21220
21923
|
}
|
|
21221
|
-
|
|
21222
|
-
|
|
21223
|
-
|
|
21224
|
-
|
|
21924
|
+
if (border.left && col === region.startCol) {
|
|
21925
|
+
nextBorder.left = border.left;
|
|
21926
|
+
}
|
|
21927
|
+
if (border.right && col === region.endCol) {
|
|
21928
|
+
nextBorder.right = border.right;
|
|
21929
|
+
}
|
|
21930
|
+
if (border.horizontal && row < region.endRow) {
|
|
21931
|
+
nextBorder.bottom = nextBorder.bottom ?? border.horizontal;
|
|
21932
|
+
}
|
|
21933
|
+
if (border.vertical && col < region.endCol) {
|
|
21934
|
+
nextBorder.right = nextBorder.right ?? border.vertical;
|
|
21935
|
+
}
|
|
21936
|
+
const nextStyle = { ...style };
|
|
21937
|
+
if (Object.keys(nextBorder).length === 0) {
|
|
21938
|
+
delete nextStyle.border;
|
|
21939
|
+
} else {
|
|
21940
|
+
nextStyle.border = nextBorder;
|
|
21941
|
+
}
|
|
21942
|
+
return nextStyle;
|
|
21225
21943
|
}
|
|
21226
21944
|
function resolveTableCellStyle(table, row, col, activeSheet) {
|
|
21227
21945
|
if (!table || !activeSheet) {
|
|
@@ -21231,37 +21949,72 @@ function resolveTableCellStyle(table, row, col, activeSheet) {
|
|
|
21231
21949
|
if (!styleName) {
|
|
21232
21950
|
return null;
|
|
21233
21951
|
}
|
|
21234
|
-
const tableStyle = activeSheet.tableStyleByName[styleName];
|
|
21952
|
+
const tableStyle = activeSheet.tableStyleByName[styleName] ?? resolveBuiltinTableStyle(styleName);
|
|
21235
21953
|
if (!tableStyle) {
|
|
21236
21954
|
return null;
|
|
21237
21955
|
}
|
|
21956
|
+
const headerRowCount = Math.max(table.headerRowCount, 1);
|
|
21957
|
+
const totalsRowCount = table.totalsRowShown ? Math.max(table.totalsRowCount, 1) : 0;
|
|
21958
|
+
const headerEndRow = table.start.row + headerRowCount - 1;
|
|
21959
|
+
const totalsStartRow = table.end.row - totalsRowCount + 1;
|
|
21960
|
+
const bodyStartRow = headerEndRow + 1;
|
|
21961
|
+
const bodyEndRow = totalsStartRow - 1;
|
|
21962
|
+
const isHeaderRow = row >= table.start.row && row <= headerEndRow;
|
|
21963
|
+
const isTotalsRow = totalsRowCount > 0 && row >= totalsStartRow && row <= table.end.row;
|
|
21964
|
+
const isBodyRow = row >= bodyStartRow && row <= bodyEndRow;
|
|
21965
|
+
const isFirstColumn = col === table.start.col;
|
|
21966
|
+
const isLastColumn = col === table.end.col;
|
|
21967
|
+
const tableRegion = {
|
|
21968
|
+
endCol: table.end.col,
|
|
21969
|
+
endRow: table.end.row,
|
|
21970
|
+
startCol: table.start.col,
|
|
21971
|
+
startRow: table.start.row
|
|
21972
|
+
};
|
|
21973
|
+
const headerRegion = { ...tableRegion, endRow: headerEndRow };
|
|
21974
|
+
const totalsRegion = { ...tableRegion, startRow: totalsStartRow };
|
|
21238
21975
|
let resolved = null;
|
|
21239
|
-
const applyElement = (elementType, enabled = true) => {
|
|
21976
|
+
const applyElement = (elementType, region, enabled = true) => {
|
|
21240
21977
|
if (!enabled) {
|
|
21241
21978
|
return;
|
|
21242
21979
|
}
|
|
21243
|
-
const nextStyle = normalizeTableStyleEdges(tableStyle[elementType] ?? null,
|
|
21980
|
+
const nextStyle = normalizeTableStyleEdges(tableStyle[elementType] ?? null, region, row, col);
|
|
21244
21981
|
if (!nextStyle) {
|
|
21245
21982
|
return;
|
|
21246
21983
|
}
|
|
21247
21984
|
resolved = mergeResolvedCellStyle(resolved, nextStyle);
|
|
21248
21985
|
};
|
|
21249
|
-
applyElement("wholeTable");
|
|
21250
|
-
|
|
21251
|
-
|
|
21252
|
-
|
|
21253
|
-
|
|
21254
|
-
|
|
21986
|
+
applyElement("wholeTable", tableRegion);
|
|
21987
|
+
if (isBodyRow && table.styleInfo?.showColumnStripes) {
|
|
21988
|
+
const isFirstStripe = (col - table.start.col) % 2 === 0;
|
|
21989
|
+
applyElement(isFirstStripe ? "firstColumnStripe" : "secondColumnStripe", {
|
|
21990
|
+
endCol: col,
|
|
21991
|
+
endRow: bodyEndRow,
|
|
21992
|
+
startCol: col,
|
|
21993
|
+
startRow: bodyStartRow
|
|
21994
|
+
});
|
|
21995
|
+
}
|
|
21996
|
+
if (isBodyRow && table.styleInfo?.showRowStripes) {
|
|
21997
|
+
const isFirstStripe = (row - bodyStartRow) % 2 === 0;
|
|
21998
|
+
applyElement(isFirstStripe ? "firstRowStripe" : "secondRowStripe", {
|
|
21999
|
+
...tableRegion,
|
|
22000
|
+
endRow: row,
|
|
22001
|
+
startRow: row
|
|
22002
|
+
});
|
|
22003
|
+
}
|
|
22004
|
+
applyElement("lastColumn", { ...tableRegion, startCol: table.end.col }, Boolean(table.styleInfo?.showLastColumn) && isLastColumn);
|
|
22005
|
+
applyElement("firstColumn", { ...tableRegion, endCol: table.start.col }, Boolean(table.styleInfo?.showFirstColumn) && isFirstColumn);
|
|
22006
|
+
applyElement("headerRow", headerRegion, isHeaderRow);
|
|
21255
22007
|
if (isHeaderRow && table.headerRowCellStyle) {
|
|
21256
22008
|
const namedHeaderStyle = activeSheet.namedCellStyleByName[table.headerRowCellStyle];
|
|
21257
22009
|
if (namedHeaderStyle) {
|
|
21258
22010
|
resolved = mergeResolvedCellStyle(resolved, namedHeaderStyle);
|
|
21259
22011
|
}
|
|
21260
22012
|
}
|
|
21261
|
-
|
|
21262
|
-
|
|
21263
|
-
|
|
21264
|
-
}
|
|
22013
|
+
applyElement("totalRow", totalsRegion, isTotalsRow);
|
|
22014
|
+
applyElement("firstHeaderCell", { ...headerRegion, endCol: table.start.col }, isHeaderRow && isFirstColumn);
|
|
22015
|
+
applyElement("lastHeaderCell", { ...headerRegion, startCol: table.end.col }, isHeaderRow && isLastColumn);
|
|
22016
|
+
applyElement("firstTotalCell", { ...totalsRegion, endCol: table.start.col }, isTotalsRow && isFirstColumn);
|
|
22017
|
+
applyElement("lastTotalCell", { ...totalsRegion, startCol: table.end.col }, isTotalsRow && isLastColumn);
|
|
21265
22018
|
return resolved;
|
|
21266
22019
|
}
|
|
21267
22020
|
function getTableHeaderColumn(table, row, col) {
|
|
@@ -21968,7 +22721,8 @@ function resolveConditionalRuleThreshold(threshold, numericValues) {
|
|
|
21968
22721
|
return null;
|
|
21969
22722
|
}
|
|
21970
22723
|
const fallbackValue = typeof threshold.value === "number" ? threshold.value : null;
|
|
21971
|
-
|
|
22724
|
+
const thresholdType = threshold.type.trim().toLowerCase();
|
|
22725
|
+
if (thresholdType === "num" || thresholdType === "formula") {
|
|
21972
22726
|
return fallbackValue;
|
|
21973
22727
|
}
|
|
21974
22728
|
if (numericValues.length === 0) {
|
|
@@ -21976,17 +22730,216 @@ function resolveConditionalRuleThreshold(threshold, numericValues) {
|
|
|
21976
22730
|
}
|
|
21977
22731
|
const minValue = Math.min(...numericValues);
|
|
21978
22732
|
const maxValue = Math.max(...numericValues);
|
|
21979
|
-
if (
|
|
22733
|
+
if (thresholdType === "min") {
|
|
21980
22734
|
return minValue;
|
|
21981
22735
|
}
|
|
21982
|
-
if (
|
|
22736
|
+
if (thresholdType === "max") {
|
|
21983
22737
|
return maxValue;
|
|
21984
22738
|
}
|
|
21985
|
-
if (
|
|
22739
|
+
if (thresholdType === "automin" || thresholdType === "automaticmin") {
|
|
22740
|
+
return Math.min(0, minValue);
|
|
22741
|
+
}
|
|
22742
|
+
if (thresholdType === "automax" || thresholdType === "automaticmax") {
|
|
22743
|
+
return Math.max(0, maxValue);
|
|
22744
|
+
}
|
|
22745
|
+
if ((thresholdType === "percent" || thresholdType === "percentile") && fallbackValue !== null) {
|
|
21986
22746
|
return minValue + (maxValue - minValue) * (fallbackValue / 100);
|
|
21987
22747
|
}
|
|
21988
22748
|
return fallbackValue;
|
|
21989
22749
|
}
|
|
22750
|
+
function parseConditionalFormulaLiteral(formula) {
|
|
22751
|
+
const trimmed = formula.trim();
|
|
22752
|
+
if (trimmed.length === 0) {
|
|
22753
|
+
return null;
|
|
22754
|
+
}
|
|
22755
|
+
const withoutEquals = trimmed.startsWith("=") ? trimmed.slice(1).trim() : trimmed;
|
|
22756
|
+
if (withoutEquals.startsWith('"') && withoutEquals.endsWith('"') && withoutEquals.length >= 2) {
|
|
22757
|
+
return withoutEquals.slice(1, -1).replace(/\"\"/g, '"');
|
|
22758
|
+
}
|
|
22759
|
+
const numeric = Number(withoutEquals.replace(/,/g, ""));
|
|
22760
|
+
if (Number.isFinite(numeric)) {
|
|
22761
|
+
return numeric;
|
|
22762
|
+
}
|
|
22763
|
+
return withoutEquals;
|
|
22764
|
+
}
|
|
22765
|
+
function resolveConditionalCellIsMatch(operator, left, right, numericValue, textValue) {
|
|
22766
|
+
const normalizedOperator = operator.trim();
|
|
22767
|
+
const normalizedText = textValue.trim();
|
|
22768
|
+
const parsedNumericText = Number(normalizedText.replace(/,/g, ""));
|
|
22769
|
+
const effectiveNumericValue = numericValue ?? (Number.isFinite(parsedNumericText) ? parsedNumericText : null);
|
|
22770
|
+
const cellIsTextComparable = effectiveNumericValue === null && normalizedText.length > 0;
|
|
22771
|
+
const compareComparable = (literal, predicate) => {
|
|
22772
|
+
if (typeof literal !== "number") {
|
|
22773
|
+
return false;
|
|
22774
|
+
}
|
|
22775
|
+
if (effectiveNumericValue !== null) {
|
|
22776
|
+
return predicate(effectiveNumericValue, literal);
|
|
22777
|
+
}
|
|
22778
|
+
if (cellIsTextComparable) {
|
|
22779
|
+
return predicate(1, 0);
|
|
22780
|
+
}
|
|
22781
|
+
return false;
|
|
22782
|
+
};
|
|
22783
|
+
switch (normalizedOperator) {
|
|
22784
|
+
case "greaterThan":
|
|
22785
|
+
return compareComparable(left, (cell, value) => cell > value);
|
|
22786
|
+
case "greaterThanOrEqual":
|
|
22787
|
+
return compareComparable(left, (cell, value) => cell >= value);
|
|
22788
|
+
case "lessThan":
|
|
22789
|
+
return compareComparable(left, (cell, value) => cell < value);
|
|
22790
|
+
case "lessThanOrEqual":
|
|
22791
|
+
return compareComparable(left, (cell, value) => cell <= value);
|
|
22792
|
+
case "between":
|
|
22793
|
+
if (typeof left !== "number" || typeof right !== "number") {
|
|
22794
|
+
return false;
|
|
22795
|
+
}
|
|
22796
|
+
if (effectiveNumericValue === null) {
|
|
22797
|
+
return false;
|
|
22798
|
+
}
|
|
22799
|
+
return effectiveNumericValue >= left && effectiveNumericValue <= right;
|
|
22800
|
+
case "notBetween":
|
|
22801
|
+
if (typeof left !== "number" || typeof right !== "number") {
|
|
22802
|
+
return false;
|
|
22803
|
+
}
|
|
22804
|
+
if (effectiveNumericValue === null) {
|
|
22805
|
+
return cellIsTextComparable;
|
|
22806
|
+
}
|
|
22807
|
+
return effectiveNumericValue < left || effectiveNumericValue > right;
|
|
22808
|
+
case "notEqual":
|
|
22809
|
+
if (typeof left === "number") {
|
|
22810
|
+
if (effectiveNumericValue !== null) {
|
|
22811
|
+
return effectiveNumericValue !== left;
|
|
22812
|
+
}
|
|
22813
|
+
return cellIsTextComparable;
|
|
22814
|
+
}
|
|
22815
|
+
return left !== null && normalizedText.toLowerCase() !== String(left).toLowerCase();
|
|
22816
|
+
case "equal":
|
|
22817
|
+
default:
|
|
22818
|
+
if (typeof left === "number") {
|
|
22819
|
+
if (effectiveNumericValue !== null) {
|
|
22820
|
+
return effectiveNumericValue === left;
|
|
22821
|
+
}
|
|
22822
|
+
return false;
|
|
22823
|
+
}
|
|
22824
|
+
return left !== null && normalizedText.toLowerCase() === String(left).toLowerCase();
|
|
22825
|
+
}
|
|
22826
|
+
}
|
|
22827
|
+
function resolveConditionalFormulaComparable(formula, worksheet, sheet, batchedCells) {
|
|
22828
|
+
const literal = parseConditionalFormulaLiteral(formula);
|
|
22829
|
+
if (typeof literal === "number") {
|
|
22830
|
+
return literal;
|
|
22831
|
+
}
|
|
22832
|
+
const normalized = formula.trim().replace(/^=/, "").trim();
|
|
22833
|
+
if (normalized.length === 0) {
|
|
22834
|
+
return literal;
|
|
22835
|
+
}
|
|
22836
|
+
const splitReference = splitSheetFormulaReference(normalized);
|
|
22837
|
+
const targetSheetName = splitReference?.sheetName ?? null;
|
|
22838
|
+
if (targetSheetName && sheet?.name && targetSheetName !== sheet.name) {
|
|
22839
|
+
return literal;
|
|
22840
|
+
}
|
|
22841
|
+
const cellRef = splitReference?.range ?? normalized;
|
|
22842
|
+
const cell = parseA1CellReference3(cellRef.replace(/\$/g, ""));
|
|
22843
|
+
if (!cell) {
|
|
22844
|
+
return literal;
|
|
22845
|
+
}
|
|
22846
|
+
if (worksheet) {
|
|
22847
|
+
const numeric = getCellNumericValue(worksheet, cell.row, cell.col);
|
|
22848
|
+
if (numeric !== null) {
|
|
22849
|
+
return numeric;
|
|
22850
|
+
}
|
|
22851
|
+
return getCellDisplayValue(worksheet, cell.row, cell.col, sheet);
|
|
22852
|
+
}
|
|
22853
|
+
if (batchedCells) {
|
|
22854
|
+
const batched = batchedCells.get(`${cell.row}:${cell.col}`);
|
|
22855
|
+
if (batched) {
|
|
22856
|
+
const numeric = getBatchedCellNumericValue(batched);
|
|
22857
|
+
if (numeric !== null) {
|
|
22858
|
+
return numeric;
|
|
22859
|
+
}
|
|
22860
|
+
return batched.value;
|
|
22861
|
+
}
|
|
22862
|
+
}
|
|
22863
|
+
return literal;
|
|
22864
|
+
}
|
|
22865
|
+
function normalizeConditionalTextOperand(value) {
|
|
22866
|
+
if (value === null || value === void 0) {
|
|
22867
|
+
return "";
|
|
22868
|
+
}
|
|
22869
|
+
return String(value).trim().toLowerCase();
|
|
22870
|
+
}
|
|
22871
|
+
function resolveConditionalStyledRuleMatch(rule, numericValue, textValue, worksheet, sheet, batchedCells) {
|
|
22872
|
+
const normalizedRuleType = rule.ruleType.trim().toLowerCase();
|
|
22873
|
+
const left = resolveConditionalFormulaComparable(rule.formulas?.[0] ?? "", worksheet, sheet, batchedCells);
|
|
22874
|
+
const right = resolveConditionalFormulaComparable(rule.formulas?.[1] ?? "", worksheet, sheet, batchedCells);
|
|
22875
|
+
if (normalizedRuleType === "cellis") {
|
|
22876
|
+
return resolveConditionalCellIsMatch(rule.operator ?? "equal", left, right, numericValue, textValue);
|
|
22877
|
+
}
|
|
22878
|
+
const normalizedCellText = textValue.trim().toLowerCase();
|
|
22879
|
+
const normalizedOperand = normalizeConditionalTextOperand(rule.text) || normalizeConditionalTextOperand(left);
|
|
22880
|
+
switch (normalizedRuleType) {
|
|
22881
|
+
case "beginwith":
|
|
22882
|
+
case "beginswith":
|
|
22883
|
+
return normalizedOperand.length > 0 && normalizedCellText.startsWith(normalizedOperand);
|
|
22884
|
+
case "endwith":
|
|
22885
|
+
case "endswith":
|
|
22886
|
+
return normalizedOperand.length > 0 && normalizedCellText.endsWith(normalizedOperand);
|
|
22887
|
+
case "containstext":
|
|
22888
|
+
return normalizedOperand.length > 0 && normalizedCellText.includes(normalizedOperand);
|
|
22889
|
+
case "notcontainstext":
|
|
22890
|
+
return normalizedOperand.length > 0 && !normalizedCellText.includes(normalizedOperand);
|
|
22891
|
+
default:
|
|
22892
|
+
return false;
|
|
22893
|
+
}
|
|
22894
|
+
}
|
|
22895
|
+
var styledConditionalRulesByRuleList = /* @__PURE__ */ new WeakMap();
|
|
22896
|
+
function getStyledConditionalRules(rules) {
|
|
22897
|
+
let styledRules = styledConditionalRulesByRuleList.get(rules);
|
|
22898
|
+
if (!styledRules) {
|
|
22899
|
+
styledRules = rules.filter((rule) => rule.kind === "styled");
|
|
22900
|
+
styledConditionalRulesByRuleList.set(rules, styledRules);
|
|
22901
|
+
}
|
|
22902
|
+
return styledRules;
|
|
22903
|
+
}
|
|
22904
|
+
function resolveConditionalCellStyleForCell(row, col, sheet, readNumericValue, readTextValue, worksheet, batchedCells) {
|
|
22905
|
+
const rules = sheet?.conditionalFormatRules;
|
|
22906
|
+
if (!sheet || !rules || rules.length === 0) {
|
|
22907
|
+
return null;
|
|
22908
|
+
}
|
|
22909
|
+
const styledRules = getStyledConditionalRules(rules);
|
|
22910
|
+
if (styledRules.length === 0) {
|
|
22911
|
+
return null;
|
|
22912
|
+
}
|
|
22913
|
+
const matchedStyles = [];
|
|
22914
|
+
let numericValue;
|
|
22915
|
+
let textValue;
|
|
22916
|
+
for (const rule of styledRules) {
|
|
22917
|
+
if (!rule.ranges.some((range) => isCellInRange({ row, col }, range))) {
|
|
22918
|
+
continue;
|
|
22919
|
+
}
|
|
22920
|
+
if (numericValue === void 0) {
|
|
22921
|
+
numericValue = readNumericValue();
|
|
22922
|
+
}
|
|
22923
|
+
if (textValue === void 0) {
|
|
22924
|
+
textValue = readTextValue();
|
|
22925
|
+
}
|
|
22926
|
+
if (!resolveConditionalStyledRuleMatch(rule, numericValue, textValue, worksheet, sheet, batchedCells)) {
|
|
22927
|
+
continue;
|
|
22928
|
+
}
|
|
22929
|
+
matchedStyles.push(rule.style);
|
|
22930
|
+
if (rule.stopIfTrue) {
|
|
22931
|
+
break;
|
|
22932
|
+
}
|
|
22933
|
+
}
|
|
22934
|
+
if (matchedStyles.length === 0) {
|
|
22935
|
+
return null;
|
|
22936
|
+
}
|
|
22937
|
+
let resolved = null;
|
|
22938
|
+
for (let index = matchedStyles.length - 1; index >= 0; index -= 1) {
|
|
22939
|
+
resolved = mergeResolvedCellStyle(resolved, matchedStyles[index]);
|
|
22940
|
+
}
|
|
22941
|
+
return resolved;
|
|
22942
|
+
}
|
|
21990
22943
|
function buildConditionalIcon(iconSet, iconId) {
|
|
21991
22944
|
switch (iconSet) {
|
|
21992
22945
|
case "NoIcons":
|
|
@@ -22994,6 +23947,7 @@ function GridRow({
|
|
|
22994
23947
|
"div",
|
|
22995
23948
|
{
|
|
22996
23949
|
style: {
|
|
23950
|
+
left: cellData.spillOffsetX ?? 0,
|
|
22997
23951
|
maxWidth: cellData.spillWidth,
|
|
22998
23952
|
overflow: "visible",
|
|
22999
23953
|
pointerEvents: "none",
|
|
@@ -23230,6 +24184,8 @@ function XlsxGrid({
|
|
|
23230
24184
|
const firstVisibleRowRef = React4.useRef(void 0);
|
|
23231
24185
|
const lastVisibleRowRef = React4.useRef(void 0);
|
|
23232
24186
|
const cellRenderCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
24187
|
+
const cellBaseRawStyleCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
24188
|
+
const mergedBorderOverlayCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
23233
24189
|
const conditionalFormatMetricsCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
23234
24190
|
const resizeStateRef = React4.useRef(null);
|
|
23235
24191
|
const resizeFrameRef = React4.useRef(null);
|
|
@@ -25255,6 +26211,8 @@ function XlsxGrid({
|
|
|
25255
26211
|
const cellRenderCacheInvalidationRef = React4.useRef(null);
|
|
25256
26212
|
if (cellRenderCacheInvalidationRef.current !== cellRenderCacheInvalidationKey) {
|
|
25257
26213
|
cellRenderCacheRef.current.clear();
|
|
26214
|
+
cellBaseRawStyleCacheRef.current.clear();
|
|
26215
|
+
mergedBorderOverlayCacheRef.current.clear();
|
|
25258
26216
|
cellRenderCacheInvalidationRef.current = cellRenderCacheInvalidationKey;
|
|
25259
26217
|
}
|
|
25260
26218
|
const getCellData = React4.useCallback((row, col) => {
|
|
@@ -25293,13 +26251,64 @@ function XlsxGrid({
|
|
|
25293
26251
|
return mergedSecondaryData;
|
|
25294
26252
|
}
|
|
25295
26253
|
const merge = worksheet ? worksheet.getMergeSpan(row, col) : batchCoversRow ? batchedCell?.mergeSpan : null;
|
|
25296
|
-
const
|
|
25297
|
-
|
|
25298
|
-
|
|
26254
|
+
const resolveBaseResolvedStyle = (targetRow, targetCol) => {
|
|
26255
|
+
const targetCacheKey = `${targetRow}:${targetCol}`;
|
|
26256
|
+
const cachedBaseStyle = cellBaseRawStyleCacheRef.current.get(targetCacheKey);
|
|
26257
|
+
if (cachedBaseStyle !== void 0) {
|
|
26258
|
+
return cachedBaseStyle;
|
|
26259
|
+
}
|
|
26260
|
+
const targetBatchCoversRow = viewportRowBatch ? targetRow >= viewportRowBatch.startRow && targetRow <= viewportRowBatch.endRow : false;
|
|
26261
|
+
const targetBatchedCell = targetBatchCoversRow ? viewportRowBatch?.cells.get(targetCacheKey) : void 0;
|
|
26262
|
+
const targetInheritedStyle = resolveInheritedCellStyle2(activeSheet, targetRow, targetCol);
|
|
26263
|
+
const targetWorksheetStyle = targetBatchCoversRow ? targetBatchedCell?.style ?? null : worksheet?.getCellStyleAt(targetRow, targetCol) ?? null;
|
|
26264
|
+
const targetRawStyle = mergeResolvedCellStyle(targetInheritedStyle, targetWorksheetStyle, {
|
|
26265
|
+
replaceXfSubtrees: true
|
|
26266
|
+
});
|
|
26267
|
+
const targetTable = getTableAtCell(effectiveTables, targetRow, targetCol);
|
|
26268
|
+
const targetTableStyle = resolveTableCellStyle(targetTable, targetRow, targetCol, activeSheet);
|
|
26269
|
+
const resolvedStyle = mergeResolvedCellStyle(targetRawStyle, targetTableStyle);
|
|
26270
|
+
cellBaseRawStyleCacheRef.current.set(targetCacheKey, resolvedStyle);
|
|
26271
|
+
return resolvedStyle;
|
|
26272
|
+
};
|
|
25299
26273
|
const table = getTableAtCell(effectiveTables, row, col);
|
|
25300
|
-
const
|
|
25301
|
-
const
|
|
25302
|
-
|
|
26274
|
+
const mergeRowSpan = Math.max(1, merge?.rowSpan ?? 1);
|
|
26275
|
+
const mergeColSpan = Math.max(1, merge?.colSpan ?? 1);
|
|
26276
|
+
let mergedBorderOverlay = null;
|
|
26277
|
+
if (mergeRowSpan > 1 || mergeColSpan > 1) {
|
|
26278
|
+
const mergedBorderOverlayCacheKey = `${row}:${col}:${mergeRowSpan}:${mergeColSpan}`;
|
|
26279
|
+
const cachedOverlay = mergedBorderOverlayCacheRef.current.get(mergedBorderOverlayCacheKey);
|
|
26280
|
+
if (cachedOverlay !== void 0) {
|
|
26281
|
+
mergedBorderOverlay = cachedOverlay;
|
|
26282
|
+
} else {
|
|
26283
|
+
mergedBorderOverlay = resolveMergedRegionBorderOverlay(
|
|
26284
|
+
row,
|
|
26285
|
+
col,
|
|
26286
|
+
merge,
|
|
26287
|
+
(targetRow, targetCol) => resolveBaseResolvedStyle(targetRow, targetCol)
|
|
26288
|
+
);
|
|
26289
|
+
mergedBorderOverlayCacheRef.current.set(mergedBorderOverlayCacheKey, mergedBorderOverlay);
|
|
26290
|
+
}
|
|
26291
|
+
}
|
|
26292
|
+
const baseResolvedStyle = resolveBaseResolvedStyle(row, col);
|
|
26293
|
+
const resolvedMergedStyle = mergeResolvedCellStyle(baseResolvedStyle, mergedBorderOverlay);
|
|
26294
|
+
let displayValue = null;
|
|
26295
|
+
const readDisplayValue = () => {
|
|
26296
|
+
if (displayValue === null) {
|
|
26297
|
+
displayValue = batchCoversRow || !worksheet ? batchedCell?.value ?? "" : getCellDisplayValue(worksheet, row, col, activeSheet);
|
|
26298
|
+
}
|
|
26299
|
+
return displayValue;
|
|
26300
|
+
};
|
|
26301
|
+
const conditionalCellStyle = resolveConditionalCellStyleForCell(
|
|
26302
|
+
row,
|
|
26303
|
+
col,
|
|
26304
|
+
activeSheet,
|
|
26305
|
+
() => worksheet ? getCellNumericValue(worksheet, row, col) : getBatchedCellNumericValue(batchedCell),
|
|
26306
|
+
readDisplayValue,
|
|
26307
|
+
worksheet,
|
|
26308
|
+
viewportRowBatch?.cells
|
|
26309
|
+
);
|
|
26310
|
+
const finalResolvedStyle = mergeResolvedCellStyle(resolvedMergedStyle, conditionalCellStyle);
|
|
26311
|
+
const alignment = finalResolvedStyle?.alignment;
|
|
25303
26312
|
const textRotationDeg = resolveSpreadsheetTextRotation(alignment?.textRotation);
|
|
25304
26313
|
const headerRowCount = table ? Math.max(table.headerRowCount, 1) : 0;
|
|
25305
26314
|
const rawHyperlink = batchCoversRow ? batchedCell?.hyperlink : worksheet?.getHyperlinkAt(row, col);
|
|
@@ -25319,7 +26328,7 @@ function XlsxGrid({
|
|
|
25319
26328
|
sparkline.range.start.col
|
|
25320
26329
|
)
|
|
25321
26330
|
) : null;
|
|
25322
|
-
const checkboxState =
|
|
26331
|
+
const checkboxState = finalResolvedStyle?.cellControl && worksheet ? getCellBooleanValue(worksheet, row, col) : null;
|
|
25323
26332
|
const chartHighlight = resolveCellChartHighlight({ row, col }, activeSheetChartHighlights);
|
|
25324
26333
|
const nextData = {
|
|
25325
26334
|
canvas: void 0,
|
|
@@ -25353,12 +26362,12 @@ function XlsxGrid({
|
|
|
25353
26362
|
isTableHeader: Boolean(table && row >= table.start.row && row < table.start.row + headerRowCount),
|
|
25354
26363
|
rowSpan: merge?.rowSpan,
|
|
25355
26364
|
sparkline: sparkline && sparklineValues ? { config: sparkline, values: sparklineValues } : null,
|
|
25356
|
-
style: scaleCssProperties(buildCellStyle(
|
|
26365
|
+
style: scaleCssProperties(buildCellStyle(finalResolvedStyle, palette, activeSheet?.themePalette, {
|
|
25357
26366
|
showGridLines: activeSheet?.showGridLines
|
|
25358
26367
|
}), zoomFactor),
|
|
25359
26368
|
textRotationDeg,
|
|
25360
26369
|
validation: resolveCellDataValidation(row, col, activeSheet),
|
|
25361
|
-
value: sparkline ? "" : checkboxState !== null ? "" :
|
|
26370
|
+
value: sparkline ? "" : checkboxState !== null ? "" : readDisplayValue()
|
|
25362
26371
|
};
|
|
25363
26372
|
if (getCellStyle) {
|
|
25364
26373
|
const styleOverrides = getCellStyle({
|
|
@@ -25384,6 +26393,7 @@ function XlsxGrid({
|
|
|
25384
26393
|
}
|
|
25385
26394
|
}
|
|
25386
26395
|
nextData.canvas = buildCanvasCellStyleCache(nextData.style);
|
|
26396
|
+
cellRenderCacheRef.current.set(cacheKey, nextData);
|
|
25387
26397
|
if (canCellTextOverflow(nextData)) {
|
|
25388
26398
|
const startColIndex = colIndexByActual.get(col);
|
|
25389
26399
|
if (startColIndex !== void 0) {
|
|
@@ -25396,9 +26406,13 @@ function XlsxGrid({
|
|
|
25396
26406
|
displayEffectiveColWidths[startColIndex] ?? displayDefaultColWidth,
|
|
25397
26407
|
sumPrefixRange(colPrefixSums, startColIndex, endColIndex)
|
|
25398
26408
|
);
|
|
26409
|
+
const align = nextData.style.textAlign;
|
|
26410
|
+
const spillSide = align === "right" || align === "end" ? "left" : "right";
|
|
25399
26411
|
let availableWidth = baseWidth;
|
|
25400
26412
|
if (requiredWidth > availableWidth) {
|
|
25401
|
-
|
|
26413
|
+
const nextColStep = spillSide === "left" ? -1 : 1;
|
|
26414
|
+
let nextColIndex = spillSide === "left" ? startColIndex - 1 : endColIndex + 1;
|
|
26415
|
+
while (nextColIndex >= 0 && nextColIndex < visibleCols.length) {
|
|
25402
26416
|
const nextActualCol = visibleCols[nextColIndex];
|
|
25403
26417
|
if (nextActualCol === void 0) {
|
|
25404
26418
|
break;
|
|
@@ -25411,9 +26425,12 @@ function XlsxGrid({
|
|
|
25411
26425
|
if (requiredWidth <= availableWidth) {
|
|
25412
26426
|
break;
|
|
25413
26427
|
}
|
|
26428
|
+
nextColIndex += nextColStep;
|
|
25414
26429
|
}
|
|
25415
26430
|
if (availableWidth > baseWidth) {
|
|
25416
26431
|
nextData.spillWidth = Math.max(0, availableWidth - horizontalPadding);
|
|
26432
|
+
nextData.spillSide = spillSide;
|
|
26433
|
+
nextData.spillOffsetX = spillSide === "left" ? Math.min(0, baseWidth - availableWidth) : 0;
|
|
25417
26434
|
}
|
|
25418
26435
|
}
|
|
25419
26436
|
}
|
|
@@ -25458,7 +26475,6 @@ function XlsxGrid({
|
|
|
25458
26475
|
}
|
|
25459
26476
|
}
|
|
25460
26477
|
}
|
|
25461
|
-
cellRenderCacheRef.current.set(cacheKey, nextData);
|
|
25462
26478
|
return nextData;
|
|
25463
26479
|
}, [
|
|
25464
26480
|
activeSheet,
|
|
@@ -27628,11 +28644,13 @@ function XlsxGrid({
|
|
|
27628
28644
|
top: (useFrozenVerticalPosition ? stickyTopByRow.get(drawCell.row) ?? baseTop - drawingViewport.top : baseTop - drawingViewport.top) - paneBoundsForCell.top,
|
|
27629
28645
|
width: displayRect?.width ?? (displayEffectiveColWidths[drawColIndex] ?? colItem.size)
|
|
27630
28646
|
};
|
|
28647
|
+
const spillOffsetX = Math.min(0, cellData.spillOffsetX ?? 0);
|
|
28648
|
+
const drawableLeft = localRect.left + spillOffsetX;
|
|
27631
28649
|
const drawableWidth = Math.max(localRect.width, cellData.spillWidth ?? 0);
|
|
27632
|
-
if (
|
|
28650
|
+
if (drawableLeft + drawableWidth < 0 || localRect.top + localRect.height < 0 || drawableLeft > paneBoundsForCell.width || localRect.top > paneBoundsForCell.height) {
|
|
27633
28651
|
continue;
|
|
27634
28652
|
}
|
|
27635
|
-
if (!intersectsCanvasDirtyRects(
|
|
28653
|
+
if (!intersectsCanvasDirtyRects(drawableLeft, localRect.top, drawableWidth, localRect.height, paneDirtyRects)) {
|
|
27636
28654
|
canvasProfileCulledCells += 1;
|
|
27637
28655
|
continue;
|
|
27638
28656
|
}
|
|
@@ -27682,11 +28700,27 @@ function XlsxGrid({
|
|
|
27682
28700
|
const bottomBorder = canvasCellStyle.bottomBorder;
|
|
27683
28701
|
const leftBorder = canvasCellStyle.leftBorder;
|
|
27684
28702
|
const rightNeighborCol = visibleCols[drawColIndex + Math.max(1, cellData.colSpan ?? 1)];
|
|
27685
|
-
const
|
|
27686
|
-
const
|
|
28703
|
+
const rightNeighborCell = rightNeighborCol === void 0 ? null : { row: drawCell.row, col: rightNeighborCol };
|
|
28704
|
+
const rightNeighborData = rightNeighborCell ? getCellData(rightNeighborCell.row, rightNeighborCell.col) : null;
|
|
28705
|
+
let rightNeighborLeftBorder = rightNeighborData?.isMergedSecondary ? null : rightNeighborData?.canvas?.leftBorder ?? parseCanvasBorderDeclaration(rightNeighborData?.style.borderLeft);
|
|
28706
|
+
if (rightNeighborLeftBorder == null && rightNeighborCell && rightNeighborData?.isMergedSecondary) {
|
|
28707
|
+
const rightNeighborAnchorCell = resolveMergeAnchorCell(rightNeighborCell);
|
|
28708
|
+
if (rightNeighborAnchorCell.col === rightNeighborCell.col) {
|
|
28709
|
+
const rightNeighborAnchorData = getCellData(rightNeighborAnchorCell.row, rightNeighborAnchorCell.col);
|
|
28710
|
+
rightNeighborLeftBorder = rightNeighborAnchorData.isMergedSecondary ? null : rightNeighborAnchorData.canvas?.leftBorder ?? parseCanvasBorderDeclaration(rightNeighborAnchorData.style.borderLeft);
|
|
28711
|
+
}
|
|
28712
|
+
}
|
|
27687
28713
|
const bottomNeighborRow = visibleRows[drawRowIndex + Math.max(1, cellData.rowSpan ?? 1)];
|
|
27688
|
-
const
|
|
27689
|
-
const
|
|
28714
|
+
const bottomNeighborCell = bottomNeighborRow === void 0 ? null : { row: bottomNeighborRow, col: drawCell.col };
|
|
28715
|
+
const bottomNeighborData = bottomNeighborCell ? getCellData(bottomNeighborCell.row, bottomNeighborCell.col) : null;
|
|
28716
|
+
let bottomNeighborTopBorder = bottomNeighborData?.isMergedSecondary ? null : bottomNeighborData?.canvas?.topBorder ?? parseCanvasBorderDeclaration(bottomNeighborData?.style.borderTop);
|
|
28717
|
+
if (bottomNeighborTopBorder == null && bottomNeighborCell && bottomNeighborData?.isMergedSecondary) {
|
|
28718
|
+
const bottomNeighborAnchorCell = resolveMergeAnchorCell(bottomNeighborCell);
|
|
28719
|
+
if (bottomNeighborAnchorCell.row === bottomNeighborCell.row) {
|
|
28720
|
+
const bottomNeighborAnchorData = getCellData(bottomNeighborAnchorCell.row, bottomNeighborAnchorCell.col);
|
|
28721
|
+
bottomNeighborTopBorder = bottomNeighborAnchorData.isMergedSecondary ? null : bottomNeighborAnchorData.canvas?.topBorder ?? parseCanvasBorderDeclaration(bottomNeighborAnchorData.style.borderTop);
|
|
28722
|
+
}
|
|
28723
|
+
}
|
|
27690
28724
|
const resolvedRightBorder = resolveCanvasBoundaryBorder(rightBorder, rightNeighborLeftBorder);
|
|
27691
28725
|
const resolvedBottomBorder = resolveCanvasBoundaryBorder(bottomBorder, bottomNeighborTopBorder);
|
|
27692
28726
|
if (showGridLines && (!resolvedRightBorder || !resolvedBottomBorder)) {
|
|
@@ -27935,10 +28969,11 @@ function XlsxGrid({
|
|
|
27935
28969
|
} else if (spillMaxWidth != null) {
|
|
27936
28970
|
const text = shouldEllipsizeText ? truncateCanvasText(paneContext, rawText, maxTextWidth) : rawText;
|
|
27937
28971
|
const textY = resolveCanvasTextMiddleY(cellStyle.verticalAlign, contentTop, contentHeight, singleLineHeight);
|
|
28972
|
+
const spillClipLeft = cellData.spillSide === "left" ? contentLeft + contentWidth - spillMaxWidth - textClipOverscan : contentLeft - textClipOverscan;
|
|
27938
28973
|
deferredSpillTextsByPane[pane].push({
|
|
27939
28974
|
align,
|
|
27940
28975
|
clipHeight: contentHeight + textClipOverscan * 2,
|
|
27941
|
-
clipLeft:
|
|
28976
|
+
clipLeft: spillClipLeft,
|
|
27942
28977
|
clipTop: contentTop - textClipOverscan,
|
|
27943
28978
|
clipWidth: spillMaxWidth + textClipOverscan * 2,
|
|
27944
28979
|
color: textColor,
|
|
@@ -31626,7 +32661,17 @@ function useXlsxViewerThumbnails(options = {}) {
|
|
|
31626
32661
|
const inheritedStyle = resolveInheritedCellStyle2(sheet, row, col);
|
|
31627
32662
|
const worksheetStyle = worksheet ? worksheet.getCellStyleAt(row, col) ?? null : batchedCell?.style ?? null;
|
|
31628
32663
|
const mergedStyle = mergeResolvedCellStyle(inheritedStyle, worksheetStyle, { replaceXfSubtrees: true });
|
|
31629
|
-
const
|
|
32664
|
+
const conditionalCellStyle = resolveConditionalCellStyleForCell(
|
|
32665
|
+
row,
|
|
32666
|
+
col,
|
|
32667
|
+
sheet,
|
|
32668
|
+
() => worksheet ? getCellNumericValue(worksheet, row, col) : getBatchedCellNumericValue(batchedCell),
|
|
32669
|
+
() => worksheet ? getCellDisplayValue(worksheet, row, col, sheet) : batchedCell?.value ?? "",
|
|
32670
|
+
worksheet,
|
|
32671
|
+
workerRowBatch?.cells
|
|
32672
|
+
);
|
|
32673
|
+
const finalResolvedStyle = mergeResolvedCellStyle(mergedStyle, conditionalCellStyle);
|
|
32674
|
+
const alignment = finalResolvedStyle?.alignment;
|
|
31630
32675
|
const sparkline = sparklineByCell.get(cacheKey) ?? null;
|
|
31631
32676
|
const getNumericValue = (targetRow, targetCol) => worksheet ? getCellNumericValue(worksheet, targetRow, targetCol) : getBatchedCellNumericValue(workerRowBatch?.cells.get(`${targetRow}:${targetCol}`));
|
|
31632
32677
|
const sparklineValues = sparkline ? sparkline.range.start.row === sparkline.range.end.row ? Array.from(
|
|
@@ -31642,7 +32687,7 @@ function useXlsxViewerThumbnails(options = {}) {
|
|
|
31642
32687
|
sparkline.range.start.col
|
|
31643
32688
|
)
|
|
31644
32689
|
) : null;
|
|
31645
|
-
const checkboxState =
|
|
32690
|
+
const checkboxState = finalResolvedStyle?.cellControl ? worksheet ? getCellBooleanValue(worksheet, row, col) : getBatchedCellBooleanValue(batchedCell) : null;
|
|
31646
32691
|
const nextData = {
|
|
31647
32692
|
canvas: void 0,
|
|
31648
32693
|
checkboxState,
|
|
@@ -31653,7 +32698,7 @@ function useXlsxViewerThumbnails(options = {}) {
|
|
|
31653
32698
|
isMergedSecondary: false,
|
|
31654
32699
|
rowSpan: merge?.rowSpan,
|
|
31655
32700
|
sparkline: sparkline && sparklineValues ? { config: sparkline, values: sparklineValues } : null,
|
|
31656
|
-
style: buildCellStyle(
|
|
32701
|
+
style: buildCellStyle(finalResolvedStyle, palette, sheet.themePalette, {
|
|
31657
32702
|
showGridLines
|
|
31658
32703
|
}),
|
|
31659
32704
|
textRotationDeg: resolveSpreadsheetTextRotation(alignment?.textRotation),
|