@extend-ai/react-xlsx 0.16.2 → 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/index.cjs +1110 -65
- 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 +1110 -65
- package/dist/index.js.map +1 -1
- package/dist/xlsx-worker.js +77 -9
- package/dist/xlsx-worker.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -4421,6 +4421,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4421
4421
|
const xml = readArchiveText2(archive, "xl/styles.xml");
|
|
4422
4422
|
if (!xml) {
|
|
4423
4423
|
return {
|
|
4424
|
+
differentialStyles: [],
|
|
4424
4425
|
defaultFont: null,
|
|
4425
4426
|
namedCellStyleByName: {},
|
|
4426
4427
|
styleById: {},
|
|
@@ -4430,6 +4431,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4430
4431
|
const document2 = parseXml2(xml);
|
|
4431
4432
|
if (!document2) {
|
|
4432
4433
|
return {
|
|
4434
|
+
differentialStyles: [],
|
|
4433
4435
|
defaultFont: null,
|
|
4434
4436
|
namedCellStyleByName: {},
|
|
4435
4437
|
styleById: {},
|
|
@@ -4446,6 +4448,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4446
4448
|
const tableStylesNode = getFirstDescendant(document2, "tableStyles");
|
|
4447
4449
|
if (!cellXfsNode) {
|
|
4448
4450
|
return {
|
|
4451
|
+
differentialStyles: [],
|
|
4449
4452
|
defaultFont: null,
|
|
4450
4453
|
namedCellStyleByName: {},
|
|
4451
4454
|
styleById: {},
|
|
@@ -4502,6 +4505,7 @@ function parseWorkbookStyles(archive) {
|
|
|
4502
4505
|
sizePt: typeof normalFont.size === "number" ? normalFont.size : void 0
|
|
4503
4506
|
} : null;
|
|
4504
4507
|
return {
|
|
4508
|
+
differentialStyles,
|
|
4505
4509
|
defaultFont,
|
|
4506
4510
|
namedCellStyleByName,
|
|
4507
4511
|
styleById,
|
|
@@ -4542,10 +4546,11 @@ function parseSpreadsheetBooleanAttribute(node, name) {
|
|
|
4542
4546
|
}
|
|
4543
4547
|
return value !== "0" && value !== "false";
|
|
4544
4548
|
}
|
|
4545
|
-
function parseStandardConditionalFormatRule(cfRuleNode, ranges) {
|
|
4549
|
+
function parseStandardConditionalFormatRule(cfRuleNode, ranges, differentialStyles = []) {
|
|
4546
4550
|
const type = cfRuleNode.getAttribute("type");
|
|
4547
4551
|
const rawPriority = Number(cfRuleNode.getAttribute("priority") ?? Number.NaN);
|
|
4548
4552
|
const priority = Number.isFinite(rawPriority) ? rawPriority : Number.MAX_SAFE_INTEGER;
|
|
4553
|
+
const formulas = getChildElements(cfRuleNode, "formula").map((formulaNode) => (formulaNode.textContent ?? "").trim()).filter((formula) => formula.length > 0);
|
|
4549
4554
|
if (type === "colorScale") {
|
|
4550
4555
|
const colorScaleNode = getFirstChild(cfRuleNode, "colorScale");
|
|
4551
4556
|
if (!colorScaleNode) {
|
|
@@ -4606,7 +4611,34 @@ function parseStandardConditionalFormatRule(cfRuleNode, ranges) {
|
|
|
4606
4611
|
showValue: parseSpreadsheetBooleanAttribute(iconSetNode, "showValue")
|
|
4607
4612
|
};
|
|
4608
4613
|
}
|
|
4609
|
-
|
|
4614
|
+
const rawDxfId = Number(cfRuleNode.getAttribute("dxfId") ?? Number.NaN);
|
|
4615
|
+
if (!type || !Number.isFinite(rawDxfId)) {
|
|
4616
|
+
return null;
|
|
4617
|
+
}
|
|
4618
|
+
const style = differentialStyles[rawDxfId];
|
|
4619
|
+
if (!style) {
|
|
4620
|
+
return null;
|
|
4621
|
+
}
|
|
4622
|
+
const rawRank = Number(cfRuleNode.getAttribute("rank") ?? Number.NaN);
|
|
4623
|
+
const rawStdDev = Number(cfRuleNode.getAttribute("stdDev") ?? Number.NaN);
|
|
4624
|
+
return {
|
|
4625
|
+
aboveAverage: parseSpreadsheetBooleanAttribute(cfRuleNode, "aboveAverage"),
|
|
4626
|
+
bottom: parseSpreadsheetBooleanAttribute(cfRuleNode, "bottom"),
|
|
4627
|
+
equalAverage: parseSpreadsheetBooleanAttribute(cfRuleNode, "equalAverage"),
|
|
4628
|
+
formulas,
|
|
4629
|
+
kind: "styled",
|
|
4630
|
+
operator: cfRuleNode.getAttribute("operator") ?? void 0,
|
|
4631
|
+
percent: parseSpreadsheetBooleanAttribute(cfRuleNode, "percent"),
|
|
4632
|
+
priority,
|
|
4633
|
+
rank: Number.isFinite(rawRank) ? rawRank : void 0,
|
|
4634
|
+
ranges,
|
|
4635
|
+
ruleType: type,
|
|
4636
|
+
stdDev: Number.isFinite(rawStdDev) ? rawStdDev : void 0,
|
|
4637
|
+
stopIfTrue: parseSpreadsheetBooleanAttribute(cfRuleNode, "stopIfTrue"),
|
|
4638
|
+
style,
|
|
4639
|
+
text: cfRuleNode.getAttribute("text") ?? void 0,
|
|
4640
|
+
timePeriod: cfRuleNode.getAttribute("timePeriod") ?? void 0
|
|
4641
|
+
};
|
|
4610
4642
|
}
|
|
4611
4643
|
function parseExtendedConditionalFormatRule(cfRuleNode, ranges) {
|
|
4612
4644
|
const type = cfRuleNode.getAttribute("type");
|
|
@@ -4717,14 +4749,14 @@ function mergeConditionalFormatRule(baseRule, extendedRule) {
|
|
|
4717
4749
|
}
|
|
4718
4750
|
return baseRule;
|
|
4719
4751
|
}
|
|
4720
|
-
function parseConditionalFormatRules(document2) {
|
|
4752
|
+
function parseConditionalFormatRules(document2, differentialStyles = []) {
|
|
4721
4753
|
const standardRules = [];
|
|
4722
4754
|
const extendedRules = [];
|
|
4723
4755
|
getLocalElements(document2, "conditionalFormatting").forEach((conditionalFormattingNode) => {
|
|
4724
4756
|
const isExtended = conditionalFormattingNode.namespaceURI !== SPREADSHEET_NS;
|
|
4725
4757
|
const ranges = isExtended ? parseSqrefRanges(getFirstChild(conditionalFormattingNode, "sqref")?.textContent ?? "") : parseSqrefRanges(conditionalFormattingNode.getAttribute("sqref"));
|
|
4726
4758
|
getChildElements(conditionalFormattingNode, "cfRule").forEach((cfRuleNode) => {
|
|
4727
|
-
const parsedRule = isExtended ? parseExtendedConditionalFormatRule(cfRuleNode, ranges) : parseStandardConditionalFormatRule(cfRuleNode, ranges);
|
|
4759
|
+
const parsedRule = isExtended ? parseExtendedConditionalFormatRule(cfRuleNode, ranges) : parseStandardConditionalFormatRule(cfRuleNode, ranges, differentialStyles);
|
|
4728
4760
|
if (parsedRule) {
|
|
4729
4761
|
if (isExtended) {
|
|
4730
4762
|
extendedRules.push(parsedRule);
|
|
@@ -4770,8 +4802,9 @@ function parseSheetState(archive, path, options) {
|
|
|
4770
4802
|
return null;
|
|
4771
4803
|
}
|
|
4772
4804
|
const includeCachedFormulaValues = options?.includeCachedFormulaValues ?? true;
|
|
4805
|
+
const autoFilterRanges = parseSqrefRanges(getLocalElements(document2, "autoFilter")[0]?.getAttribute("ref"));
|
|
4773
4806
|
const cachedFormulaValues = {};
|
|
4774
|
-
const conditionalFormatRules = parseConditionalFormatRules(document2);
|
|
4807
|
+
const conditionalFormatRules = parseConditionalFormatRules(document2, options?.differentialStyles ?? []);
|
|
4775
4808
|
const sparklines = parseSheetSparklines(document2, options?.themePalette);
|
|
4776
4809
|
const sheetFormatNode = getLocalElements(document2, "sheetFormatPr")[0] ?? null;
|
|
4777
4810
|
const sheetViewNode = getLocalElements(document2, "sheetView")[0] ?? null;
|
|
@@ -4863,6 +4896,7 @@ function parseSheetState(archive, path, options) {
|
|
|
4863
4896
|
}
|
|
4864
4897
|
});
|
|
4865
4898
|
return {
|
|
4899
|
+
autoFilterRanges,
|
|
4866
4900
|
cachedFormulaValues,
|
|
4867
4901
|
columnWidthCharacterWidthPx,
|
|
4868
4902
|
colWidthOverridesPx,
|
|
@@ -6028,12 +6062,13 @@ function parseWorkbookStructureAssetsFromArchive(archive, options) {
|
|
|
6028
6062
|
const workbookSheets = parseWorkbookSheets(archive);
|
|
6029
6063
|
const theme = parseWorkbookTheme(archive);
|
|
6030
6064
|
const themePalette = buildThemePalette(theme);
|
|
6031
|
-
const { defaultFont, namedCellStyleByName, styleById, tableStyleByName } = parseWorkbookStyles(archive);
|
|
6065
|
+
const { defaultFont, differentialStyles, namedCellStyleByName, styleById, tableStyleByName } = parseWorkbookStyles(archive);
|
|
6032
6066
|
return {
|
|
6033
6067
|
contentTypes,
|
|
6034
6068
|
namedCellStyleByName,
|
|
6035
6069
|
sheetStatesByWorkbookSheetIndex: workbookSheets.map((sheet) => parseSheetState(archive, sheet.path, {
|
|
6036
6070
|
...options,
|
|
6071
|
+
differentialStyles,
|
|
6037
6072
|
defaultFont,
|
|
6038
6073
|
themePalette
|
|
6039
6074
|
})),
|
|
@@ -7186,6 +7221,7 @@ function buildSheetList(workbook, sheetStatesByWorkbookSheetIndex, themePalette,
|
|
|
7186
7221
|
const usedRange = worksheet.usedRange();
|
|
7187
7222
|
if (!usedRange) {
|
|
7188
7223
|
sheets.push({
|
|
7224
|
+
autoFilterRanges: sheetState?.autoFilterRanges ?? [],
|
|
7189
7225
|
cachedFormulaValues: sheetState?.cachedFormulaValues ?? {},
|
|
7190
7226
|
columnWidthCharacterWidthPx: sheetState?.columnWidthCharacterWidthPx,
|
|
7191
7227
|
colWidthOverridesPx: sheetState?.colWidthOverridesPx ?? {},
|
|
@@ -7272,6 +7308,7 @@ function buildSheetList(workbook, sheetStatesByWorkbookSheetIndex, themePalette,
|
|
|
7272
7308
|
return colWidthsCache;
|
|
7273
7309
|
};
|
|
7274
7310
|
const sheet = {
|
|
7311
|
+
autoFilterRanges: sheetState?.autoFilterRanges ?? [],
|
|
7275
7312
|
cachedFormulaValues: sheetState?.cachedFormulaValues ?? {},
|
|
7276
7313
|
columnWidthCharacterWidthPx: sheetState?.columnWidthCharacterWidthPx,
|
|
7277
7314
|
colWidthOverridesPx: sheetState?.colWidthOverridesPx ?? {},
|
|
@@ -7652,9 +7689,9 @@ function rangeContainsCell(range, cell) {
|
|
|
7652
7689
|
const normalized = normalizeRange(range);
|
|
7653
7690
|
return cell.row >= normalized.start.row && cell.row <= normalized.end.row && cell.col >= normalized.start.col && cell.col <= normalized.end.col;
|
|
7654
7691
|
}
|
|
7655
|
-
function mapWorksheetTables(worksheet) {
|
|
7692
|
+
function mapWorksheetTables(worksheet, autoFilterRanges = []) {
|
|
7656
7693
|
const rawTables = worksheet?.tables ?? [];
|
|
7657
|
-
|
|
7694
|
+
const mappedTables = rawTables.flatMap((table, index) => {
|
|
7658
7695
|
const rawColumns = Array.isArray(table.columns) ? table.columns : [];
|
|
7659
7696
|
const rawName = typeof table.name === "string" ? table.name : `Table${index + 1}`;
|
|
7660
7697
|
const rawDisplayName = typeof table.displayName === "string" ? table.displayName : typeof table.name === "string" ? table.name : `Table ${index + 1}`;
|
|
@@ -7682,6 +7719,34 @@ function mapWorksheetTables(worksheet) {
|
|
|
7682
7719
|
totalsRowShown: resolveWorkbookTableBoolean(table.totalsRowShown)
|
|
7683
7720
|
}];
|
|
7684
7721
|
});
|
|
7722
|
+
const existingReferences = new Set(mappedTables.map((table) => table.reference));
|
|
7723
|
+
const mappedAutoFilterTables = autoFilterRanges.flatMap((range, index) => {
|
|
7724
|
+
const reference = rangeToA1(range);
|
|
7725
|
+
if (existingReferences.has(reference)) {
|
|
7726
|
+
return [];
|
|
7727
|
+
}
|
|
7728
|
+
const columnCount = Math.max(0, range.end.col - range.start.col + 1);
|
|
7729
|
+
const columns = Array.from({ length: columnCount }, (_, columnIndex) => {
|
|
7730
|
+
const headerValue = worksheet ? decodeHtmlEntities(worksheet.getFormattedValueAt(range.start.row, range.start.col + columnIndex) ?? "") : "";
|
|
7731
|
+
return {
|
|
7732
|
+
id: columnIndex + 1,
|
|
7733
|
+
index: columnIndex,
|
|
7734
|
+
name: headerValue.trim().length > 0 ? headerValue : `Column ${columnIndex + 1}`
|
|
7735
|
+
};
|
|
7736
|
+
});
|
|
7737
|
+
return [{
|
|
7738
|
+
columns,
|
|
7739
|
+
displayName: `AutoFilter ${index + 1}`,
|
|
7740
|
+
end: range.end,
|
|
7741
|
+
headerRowCount: 1,
|
|
7742
|
+
name: `__autofilter_${index + 1}_${reference}`,
|
|
7743
|
+
reference,
|
|
7744
|
+
start: range.start,
|
|
7745
|
+
totalsRowCount: 0,
|
|
7746
|
+
totalsRowShown: false
|
|
7747
|
+
}];
|
|
7748
|
+
});
|
|
7749
|
+
return [...mappedTables, ...mappedAutoFilterTables];
|
|
7685
7750
|
}
|
|
7686
7751
|
function resolveWorkbookTableCount(value, fallback) {
|
|
7687
7752
|
if (typeof value === "number" && Number.isFinite(value) && value >= 0) {
|
|
@@ -8986,8 +9051,8 @@ function useXlsxViewerController(options) {
|
|
|
8986
9051
|
}
|
|
8987
9052
|
}, [activeSheetIndex, sheets, workbook]);
|
|
8988
9053
|
const tables = React.useMemo(
|
|
8989
|
-
() => isWorkerBacked ? workerTablesByWorkbookSheetIndex[activeSheet?.workbookSheetIndex ?? -1] ?? [] : mapWorksheetTables(getActiveWorksheet()),
|
|
8990
|
-
[activeSheet?.workbookSheetIndex, getActiveWorksheet, isWorkerBacked, revision, workerTablesByWorkbookSheetIndex]
|
|
9054
|
+
() => isWorkerBacked ? workerTablesByWorkbookSheetIndex[activeSheet?.workbookSheetIndex ?? -1] ?? [] : mapWorksheetTables(getActiveWorksheet(), activeSheet?.autoFilterRanges ?? []),
|
|
9055
|
+
[activeSheet?.autoFilterRanges, activeSheet?.workbookSheetIndex, getActiveWorksheet, isWorkerBacked, revision, workerTablesByWorkbookSheetIndex]
|
|
8991
9056
|
);
|
|
8992
9057
|
const getCellSnapshotAsync = React.useCallback((workbookSheetIndex, row, col) => {
|
|
8993
9058
|
if (!isWorkerBacked) {
|
|
@@ -11040,6 +11105,570 @@ import {
|
|
|
11040
11105
|
useVirtualizer
|
|
11041
11106
|
} from "@tanstack/react-virtual";
|
|
11042
11107
|
|
|
11108
|
+
// src/builtin-table-styles.ts
|
|
11109
|
+
var BUILTIN_TABLE_STYLES = {
|
|
11110
|
+
TableStyleLight1: {
|
|
11111
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" }, "bottom": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11112
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11113
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11114
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11115
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11116
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11117
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11118
|
+
},
|
|
11119
|
+
TableStyleLight2: {
|
|
11120
|
+
wholeTable: { "font": { "color": { "theme": 4, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 4 }, "style": "thin" }, "bottom": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11121
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11122
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11123
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } } },
|
|
11124
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 4, "tint": -0.25 } } },
|
|
11125
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11126
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } }
|
|
11127
|
+
},
|
|
11128
|
+
TableStyleLight3: {
|
|
11129
|
+
wholeTable: { "font": { "color": { "theme": 5, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 5 }, "style": "thin" }, "bottom": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11130
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11131
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11132
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } } },
|
|
11133
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 5, "tint": -0.25 } } },
|
|
11134
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } },
|
|
11135
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } }
|
|
11136
|
+
},
|
|
11137
|
+
TableStyleLight4: {
|
|
11138
|
+
wholeTable: { "font": { "color": { "theme": 6, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 6 }, "style": "thin" }, "bottom": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11139
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11140
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11141
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } } },
|
|
11142
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 6, "tint": -0.25 } } },
|
|
11143
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11144
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } }
|
|
11145
|
+
},
|
|
11146
|
+
TableStyleLight5: {
|
|
11147
|
+
wholeTable: { "font": { "color": { "theme": 7, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 7 }, "style": "thin" }, "bottom": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11148
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11149
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11150
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } } },
|
|
11151
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 7, "tint": -0.25 } } },
|
|
11152
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } },
|
|
11153
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } }
|
|
11154
|
+
},
|
|
11155
|
+
TableStyleLight6: {
|
|
11156
|
+
wholeTable: { "font": { "color": { "theme": 8, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 8 }, "style": "thin" }, "bottom": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11157
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11158
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11159
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } } },
|
|
11160
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 8, "tint": -0.25 } } },
|
|
11161
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11162
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } }
|
|
11163
|
+
},
|
|
11164
|
+
TableStyleLight7: {
|
|
11165
|
+
wholeTable: { "font": { "color": { "theme": 9, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 9 }, "style": "thin" }, "bottom": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11166
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } }, "border": { "bottom": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11167
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } }, "border": { "top": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11168
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } } },
|
|
11169
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 9, "tint": -0.25 } } },
|
|
11170
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } },
|
|
11171
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } }
|
|
11172
|
+
},
|
|
11173
|
+
TableStyleLight8: {
|
|
11174
|
+
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" } } },
|
|
11175
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11176
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11177
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11178
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11179
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11180
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11181
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 1 }, "style": "thin" } } },
|
|
11182
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 1 }, "style": "thin" } } }
|
|
11183
|
+
},
|
|
11184
|
+
TableStyleLight9: {
|
|
11185
|
+
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" } } },
|
|
11186
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11187
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "double" } } },
|
|
11188
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11189
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11190
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11191
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11192
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 4 }, "style": "thin" } } },
|
|
11193
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 4 }, "style": "thin" } } }
|
|
11194
|
+
},
|
|
11195
|
+
TableStyleLight10: {
|
|
11196
|
+
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" } } },
|
|
11197
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11198
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "double" } } },
|
|
11199
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11200
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11201
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11202
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11203
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 5 }, "style": "thin" } } },
|
|
11204
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 5 }, "style": "thin" } } }
|
|
11205
|
+
},
|
|
11206
|
+
TableStyleLight11: {
|
|
11207
|
+
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" } } },
|
|
11208
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11209
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "double" } } },
|
|
11210
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11211
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11212
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11213
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11214
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 6 }, "style": "thin" } } },
|
|
11215
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 6 }, "style": "thin" } } }
|
|
11216
|
+
},
|
|
11217
|
+
TableStyleLight12: {
|
|
11218
|
+
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" } } },
|
|
11219
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11220
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "double" } } },
|
|
11221
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11222
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11223
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11224
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11225
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 7 }, "style": "thin" } } },
|
|
11226
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 7 }, "style": "thin" } } }
|
|
11227
|
+
},
|
|
11228
|
+
TableStyleLight13: {
|
|
11229
|
+
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" } } },
|
|
11230
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11231
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "double" } } },
|
|
11232
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11233
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11234
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11235
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11236
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 8 }, "style": "thin" } } },
|
|
11237
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 8 }, "style": "thin" } } }
|
|
11238
|
+
},
|
|
11239
|
+
TableStyleLight14: {
|
|
11240
|
+
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" } } },
|
|
11241
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11242
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "double" } } },
|
|
11243
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11244
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11245
|
+
firstRowStripe: { "border": { "top": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11246
|
+
secondRowStripe: { "border": { "top": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11247
|
+
firstColumnStripe: { "border": { "left": { "color": { "theme": 9 }, "style": "thin" } } },
|
|
11248
|
+
secondColumnStripe: { "border": { "left": { "color": { "theme": 9 }, "style": "thin" } } }
|
|
11249
|
+
},
|
|
11250
|
+
TableStyleLight15: {
|
|
11251
|
+
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" } } },
|
|
11252
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11253
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11254
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11255
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11256
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11257
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11258
|
+
},
|
|
11259
|
+
TableStyleLight16: {
|
|
11260
|
+
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" } } },
|
|
11261
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 4 }, "style": "medium" } } },
|
|
11262
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "double" } } },
|
|
11263
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11264
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11265
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11266
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } }
|
|
11267
|
+
},
|
|
11268
|
+
TableStyleLight17: {
|
|
11269
|
+
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" } } },
|
|
11270
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 5 }, "style": "medium" } } },
|
|
11271
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "double" } } },
|
|
11272
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11273
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11274
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } },
|
|
11275
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } }
|
|
11276
|
+
},
|
|
11277
|
+
TableStyleLight18: {
|
|
11278
|
+
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" } } },
|
|
11279
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 6 }, "style": "medium" } } },
|
|
11280
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "double" } } },
|
|
11281
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11282
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11283
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11284
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } }
|
|
11285
|
+
},
|
|
11286
|
+
TableStyleLight19: {
|
|
11287
|
+
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" } } },
|
|
11288
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 7 }, "style": "medium" } } },
|
|
11289
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "double" } } },
|
|
11290
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11291
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11292
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } },
|
|
11293
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } }
|
|
11294
|
+
},
|
|
11295
|
+
TableStyleLight20: {
|
|
11296
|
+
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" } } },
|
|
11297
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 8 }, "style": "medium" } } },
|
|
11298
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "double" } } },
|
|
11299
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11300
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11301
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11302
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } }
|
|
11303
|
+
},
|
|
11304
|
+
TableStyleLight21: {
|
|
11305
|
+
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" } } },
|
|
11306
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "bottom": { "color": { "theme": 9 }, "style": "medium" } } },
|
|
11307
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "double" } } },
|
|
11308
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11309
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11310
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } },
|
|
11311
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } }
|
|
11312
|
+
},
|
|
11313
|
+
TableStyleMedium1: {
|
|
11314
|
+
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" } } },
|
|
11315
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11316
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11317
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11318
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11319
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11320
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11321
|
+
},
|
|
11322
|
+
TableStyleMedium2: {
|
|
11323
|
+
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" } } },
|
|
11324
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11325
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "double" } } },
|
|
11326
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11327
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11328
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11329
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } }
|
|
11330
|
+
},
|
|
11331
|
+
TableStyleMedium3: {
|
|
11332
|
+
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" } } },
|
|
11333
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11334
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "double" } } },
|
|
11335
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11336
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11337
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } },
|
|
11338
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.8 }, "fillType": "solid" } }
|
|
11339
|
+
},
|
|
11340
|
+
TableStyleMedium4: {
|
|
11341
|
+
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" } } },
|
|
11342
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11343
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "double" } } },
|
|
11344
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11345
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11346
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11347
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } }
|
|
11348
|
+
},
|
|
11349
|
+
TableStyleMedium5: {
|
|
11350
|
+
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" } } },
|
|
11351
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11352
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "double" } } },
|
|
11353
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11354
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11355
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } },
|
|
11356
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.8 }, "fillType": "solid" } }
|
|
11357
|
+
},
|
|
11358
|
+
TableStyleMedium6: {
|
|
11359
|
+
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" } } },
|
|
11360
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11361
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "double" } } },
|
|
11362
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11363
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11364
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11365
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } }
|
|
11366
|
+
},
|
|
11367
|
+
TableStyleMedium7: {
|
|
11368
|
+
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" } } },
|
|
11369
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11370
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "double" } } },
|
|
11371
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11372
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11373
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } },
|
|
11374
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.8 }, "fillType": "solid" } }
|
|
11375
|
+
},
|
|
11376
|
+
TableStyleMedium8: {
|
|
11377
|
+
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" } } },
|
|
11378
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11379
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11380
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11381
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11382
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } },
|
|
11383
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } }
|
|
11384
|
+
},
|
|
11385
|
+
TableStyleMedium9: {
|
|
11386
|
+
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" } } },
|
|
11387
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11388
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11389
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11390
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11391
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } },
|
|
11392
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } }
|
|
11393
|
+
},
|
|
11394
|
+
TableStyleMedium10: {
|
|
11395
|
+
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" } } },
|
|
11396
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11397
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11398
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11399
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11400
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } },
|
|
11401
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } }
|
|
11402
|
+
},
|
|
11403
|
+
TableStyleMedium11: {
|
|
11404
|
+
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" } } },
|
|
11405
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11406
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11407
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11408
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11409
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } },
|
|
11410
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } }
|
|
11411
|
+
},
|
|
11412
|
+
TableStyleMedium12: {
|
|
11413
|
+
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" } } },
|
|
11414
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11415
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11416
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11417
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11418
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } },
|
|
11419
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } }
|
|
11420
|
+
},
|
|
11421
|
+
TableStyleMedium13: {
|
|
11422
|
+
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" } } },
|
|
11423
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11424
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11425
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11426
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11427
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } },
|
|
11428
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } }
|
|
11429
|
+
},
|
|
11430
|
+
TableStyleMedium14: {
|
|
11431
|
+
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" } } },
|
|
11432
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11433
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "thick" } } },
|
|
11434
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11435
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11436
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } },
|
|
11437
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } }
|
|
11438
|
+
},
|
|
11439
|
+
TableStyleMedium15: {
|
|
11440
|
+
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" } } },
|
|
11441
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11442
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11443
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11444
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11445
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11446
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11447
|
+
},
|
|
11448
|
+
TableStyleMedium16: {
|
|
11449
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11450
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11451
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11452
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11453
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11454
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11455
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11456
|
+
},
|
|
11457
|
+
TableStyleMedium17: {
|
|
11458
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11459
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11460
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11461
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11462
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11463
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11464
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11465
|
+
},
|
|
11466
|
+
TableStyleMedium18: {
|
|
11467
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11468
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11469
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11470
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11471
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11472
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11473
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11474
|
+
},
|
|
11475
|
+
TableStyleMedium19: {
|
|
11476
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11477
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11478
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11479
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11480
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11481
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11482
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11483
|
+
},
|
|
11484
|
+
TableStyleMedium20: {
|
|
11485
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11486
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11487
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11488
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11489
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11490
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11491
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11492
|
+
},
|
|
11493
|
+
TableStyleMedium21: {
|
|
11494
|
+
wholeTable: { "font": { "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" }, "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11495
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11496
|
+
totalRow: { "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11497
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11498
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11499
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11500
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } }
|
|
11501
|
+
},
|
|
11502
|
+
TableStyleMedium22: {
|
|
11503
|
+
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" } } },
|
|
11504
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11505
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "medium" } } },
|
|
11506
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11507
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11508
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } },
|
|
11509
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } }
|
|
11510
|
+
},
|
|
11511
|
+
TableStyleMedium23: {
|
|
11512
|
+
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" } } },
|
|
11513
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11514
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 4 }, "style": "medium" } } },
|
|
11515
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11516
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11517
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } },
|
|
11518
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } }
|
|
11519
|
+
},
|
|
11520
|
+
TableStyleMedium24: {
|
|
11521
|
+
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" } } },
|
|
11522
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11523
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 5 }, "style": "medium" } } },
|
|
11524
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11525
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11526
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } },
|
|
11527
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": 0.6 }, "fillType": "solid" } }
|
|
11528
|
+
},
|
|
11529
|
+
TableStyleMedium25: {
|
|
11530
|
+
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" } } },
|
|
11531
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11532
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 6 }, "style": "medium" } } },
|
|
11533
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11534
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11535
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } },
|
|
11536
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } }
|
|
11537
|
+
},
|
|
11538
|
+
TableStyleMedium26: {
|
|
11539
|
+
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" } } },
|
|
11540
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11541
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 7 }, "style": "medium" } } },
|
|
11542
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11543
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11544
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } },
|
|
11545
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": 0.6 }, "fillType": "solid" } }
|
|
11546
|
+
},
|
|
11547
|
+
TableStyleMedium27: {
|
|
11548
|
+
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" } } },
|
|
11549
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11550
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 8 }, "style": "medium" } } },
|
|
11551
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11552
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11553
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } },
|
|
11554
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } }
|
|
11555
|
+
},
|
|
11556
|
+
TableStyleMedium28: {
|
|
11557
|
+
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" } } },
|
|
11558
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11559
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 9 }, "style": "medium" } } },
|
|
11560
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11561
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11562
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } },
|
|
11563
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": 0.6 }, "fillType": "solid" } }
|
|
11564
|
+
},
|
|
11565
|
+
TableStyleDark1: {
|
|
11566
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.45 }, "fillType": "solid" } },
|
|
11567
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11568
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.15 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11569
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11570
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11571
|
+
firstRowStripe: { "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" } },
|
|
11572
|
+
firstColumnStripe: { "fill": { "color": { "theme": 1, "tint": 0.25 }, "fillType": "solid" } }
|
|
11573
|
+
},
|
|
11574
|
+
TableStyleDark2: {
|
|
11575
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 4 }, "fillType": "solid" } },
|
|
11576
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11577
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11578
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11579
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11580
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" } },
|
|
11581
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": -0.25 }, "fillType": "solid" } }
|
|
11582
|
+
},
|
|
11583
|
+
TableStyleDark3: {
|
|
11584
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11585
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11586
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11587
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11588
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11589
|
+
firstRowStripe: { "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" } },
|
|
11590
|
+
firstColumnStripe: { "fill": { "color": { "theme": 5, "tint": -0.25 }, "fillType": "solid" } }
|
|
11591
|
+
},
|
|
11592
|
+
TableStyleDark4: {
|
|
11593
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 6 }, "fillType": "solid" } },
|
|
11594
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11595
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11596
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11597
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11598
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" } },
|
|
11599
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": -0.25 }, "fillType": "solid" } }
|
|
11600
|
+
},
|
|
11601
|
+
TableStyleDark5: {
|
|
11602
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11603
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11604
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11605
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11606
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11607
|
+
firstRowStripe: { "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" } },
|
|
11608
|
+
firstColumnStripe: { "fill": { "color": { "theme": 7, "tint": -0.25 }, "fillType": "solid" } }
|
|
11609
|
+
},
|
|
11610
|
+
TableStyleDark6: {
|
|
11611
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 8 }, "fillType": "solid" } },
|
|
11612
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11613
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11614
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11615
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11616
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" } },
|
|
11617
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": -0.25 }, "fillType": "solid" } }
|
|
11618
|
+
},
|
|
11619
|
+
TableStyleDark7: {
|
|
11620
|
+
wholeTable: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11621
|
+
headerRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" }, "border": { "bottom": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11622
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9, "tint": -0.5 }, "fillType": "solid" }, "border": { "top": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11623
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" }, "border": { "right": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11624
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 0 } }, "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" }, "border": { "left": { "color": { "theme": 0 }, "style": "medium" } } },
|
|
11625
|
+
firstRowStripe: { "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" } },
|
|
11626
|
+
firstColumnStripe: { "fill": { "color": { "theme": 9, "tint": -0.25 }, "fillType": "solid" } }
|
|
11627
|
+
},
|
|
11628
|
+
TableStyleDark8: {
|
|
11629
|
+
wholeTable: { "fill": { "color": { "theme": 0, "tint": -0.15 }, "fillType": "solid" } },
|
|
11630
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 1 }, "fillType": "solid" } },
|
|
11631
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11632
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11633
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11634
|
+
firstRowStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } },
|
|
11635
|
+
firstColumnStripe: { "fill": { "color": { "theme": 0, "tint": -0.35 }, "fillType": "solid" } }
|
|
11636
|
+
},
|
|
11637
|
+
TableStyleDark9: {
|
|
11638
|
+
wholeTable: { "fill": { "color": { "theme": 4, "tint": 0.8 }, "fillType": "solid" } },
|
|
11639
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 5 }, "fillType": "solid" } },
|
|
11640
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11641
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11642
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11643
|
+
firstRowStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } },
|
|
11644
|
+
firstColumnStripe: { "fill": { "color": { "theme": 4, "tint": 0.6 }, "fillType": "solid" } }
|
|
11645
|
+
},
|
|
11646
|
+
TableStyleDark10: {
|
|
11647
|
+
wholeTable: { "fill": { "color": { "theme": 6, "tint": 0.8 }, "fillType": "solid" } },
|
|
11648
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 7 }, "fillType": "solid" } },
|
|
11649
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11650
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11651
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11652
|
+
firstRowStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } },
|
|
11653
|
+
firstColumnStripe: { "fill": { "color": { "theme": 6, "tint": 0.6 }, "fillType": "solid" } }
|
|
11654
|
+
},
|
|
11655
|
+
TableStyleDark11: {
|
|
11656
|
+
wholeTable: { "fill": { "color": { "theme": 8, "tint": 0.8 }, "fillType": "solid" } },
|
|
11657
|
+
headerRow: { "font": { "color": { "theme": 0 } }, "fill": { "color": { "theme": 9 }, "fillType": "solid" } },
|
|
11658
|
+
totalRow: { "font": { "bold": true, "color": { "theme": 1 } }, "border": { "top": { "color": { "theme": 1 }, "style": "double" } } },
|
|
11659
|
+
firstColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11660
|
+
lastColumn: { "font": { "bold": true, "color": { "theme": 1 } } },
|
|
11661
|
+
firstRowStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } },
|
|
11662
|
+
firstColumnStripe: { "fill": { "color": { "theme": 8, "tint": 0.6 }, "fillType": "solid" } }
|
|
11663
|
+
}
|
|
11664
|
+
};
|
|
11665
|
+
function resolveBuiltinTableStyle(name) {
|
|
11666
|
+
if (!name || !Object.prototype.hasOwnProperty.call(BUILTIN_TABLE_STYLES, name)) {
|
|
11667
|
+
return null;
|
|
11668
|
+
}
|
|
11669
|
+
return BUILTIN_TABLE_STYLES[name] ?? null;
|
|
11670
|
+
}
|
|
11671
|
+
|
|
11043
11672
|
// src/cell-text-clip.ts
|
|
11044
11673
|
function resolveCellTextClipOverscan(overscan, usesWrappedText) {
|
|
11045
11674
|
return {
|
|
@@ -20687,7 +21316,7 @@ function canCellTextOverflow(data) {
|
|
|
20687
21316
|
return false;
|
|
20688
21317
|
}
|
|
20689
21318
|
const textAlign = data.style.textAlign;
|
|
20690
|
-
if (textAlign && textAlign !== "left" && textAlign !== "start" && textAlign !== "center") {
|
|
21319
|
+
if (textAlign && textAlign !== "left" && textAlign !== "start" && textAlign !== "center" && textAlign !== "right" && textAlign !== "end") {
|
|
20691
21320
|
return false;
|
|
20692
21321
|
}
|
|
20693
21322
|
return true;
|
|
@@ -21163,7 +21792,87 @@ function mergeResolvedCellStyle(base, overlay, options) {
|
|
|
21163
21792
|
}
|
|
21164
21793
|
return nextStyle;
|
|
21165
21794
|
}
|
|
21166
|
-
function
|
|
21795
|
+
function resolveBorderEdgePriority(edge) {
|
|
21796
|
+
const style = typeof edge?.style === "string" ? edge.style : "none";
|
|
21797
|
+
const stylePriority = {
|
|
21798
|
+
dashed: 2,
|
|
21799
|
+
dashDot: 3,
|
|
21800
|
+
dashDotDot: 3,
|
|
21801
|
+
dotted: 1,
|
|
21802
|
+
double: 8,
|
|
21803
|
+
hair: 0,
|
|
21804
|
+
medium: 6,
|
|
21805
|
+
mediumDashDot: 5,
|
|
21806
|
+
mediumDashDotDot: 5,
|
|
21807
|
+
mediumDashed: 5,
|
|
21808
|
+
none: -1,
|
|
21809
|
+
slantDashDot: 4,
|
|
21810
|
+
thick: 7,
|
|
21811
|
+
thin: 4
|
|
21812
|
+
};
|
|
21813
|
+
return stylePriority[style] ?? -1;
|
|
21814
|
+
}
|
|
21815
|
+
function resolvePreferredBorderEdge(current, candidate) {
|
|
21816
|
+
if (!candidate || typeof candidate.style !== "string" || candidate.style === "none") {
|
|
21817
|
+
return current ?? null;
|
|
21818
|
+
}
|
|
21819
|
+
if (!current) {
|
|
21820
|
+
return candidate;
|
|
21821
|
+
}
|
|
21822
|
+
const currentPriority = resolveBorderEdgePriority(current);
|
|
21823
|
+
const candidatePriority = resolveBorderEdgePriority(candidate);
|
|
21824
|
+
if (candidatePriority > currentPriority) {
|
|
21825
|
+
return candidate;
|
|
21826
|
+
}
|
|
21827
|
+
return current;
|
|
21828
|
+
}
|
|
21829
|
+
function resolveMergedRegionBorderOverlay(row, col, merge, resolveBaseCellStyle) {
|
|
21830
|
+
const rowSpan = Math.max(1, merge?.rowSpan ?? 1);
|
|
21831
|
+
const colSpan = Math.max(1, merge?.colSpan ?? 1);
|
|
21832
|
+
if (rowSpan === 1 && colSpan === 1) {
|
|
21833
|
+
return null;
|
|
21834
|
+
}
|
|
21835
|
+
const endRow = row + rowSpan - 1;
|
|
21836
|
+
const endCol = col + colSpan - 1;
|
|
21837
|
+
let top = null;
|
|
21838
|
+
let right = null;
|
|
21839
|
+
let bottom = null;
|
|
21840
|
+
let left = null;
|
|
21841
|
+
for (let targetCol = col; targetCol <= endCol; targetCol += 1) {
|
|
21842
|
+
const topStyle = resolveBaseCellStyle(row, targetCol);
|
|
21843
|
+
const topBorder = topStyle?.border;
|
|
21844
|
+
top = resolvePreferredBorderEdge(top, topBorder?.top ?? null);
|
|
21845
|
+
const bottomStyle = resolveBaseCellStyle(endRow, targetCol);
|
|
21846
|
+
const bottomBorder = bottomStyle?.border;
|
|
21847
|
+
bottom = resolvePreferredBorderEdge(bottom, bottomBorder?.bottom ?? null);
|
|
21848
|
+
}
|
|
21849
|
+
for (let targetRow = row; targetRow <= endRow; targetRow += 1) {
|
|
21850
|
+
const leftStyle = resolveBaseCellStyle(targetRow, col);
|
|
21851
|
+
const leftBorder = leftStyle?.border;
|
|
21852
|
+
left = resolvePreferredBorderEdge(left, leftBorder?.left ?? null);
|
|
21853
|
+
const rightStyle = resolveBaseCellStyle(targetRow, endCol);
|
|
21854
|
+
const rightBorder = rightStyle?.border;
|
|
21855
|
+
right = resolvePreferredBorderEdge(right, rightBorder?.right ?? null);
|
|
21856
|
+
}
|
|
21857
|
+
const border = {};
|
|
21858
|
+
if (top) {
|
|
21859
|
+
border.top = top;
|
|
21860
|
+
}
|
|
21861
|
+
if (right) {
|
|
21862
|
+
border.right = right;
|
|
21863
|
+
}
|
|
21864
|
+
if (bottom) {
|
|
21865
|
+
border.bottom = bottom;
|
|
21866
|
+
}
|
|
21867
|
+
if (left) {
|
|
21868
|
+
border.left = left;
|
|
21869
|
+
}
|
|
21870
|
+
if (Object.keys(border).length === 0) {
|
|
21871
|
+
return null;
|
|
21872
|
+
}
|
|
21873
|
+
return { border };
|
|
21874
|
+
}
|
|
21875
|
+
function normalizeTableStyleEdges(style, region, row, col) {
|
|
21167
21876
|
if (!style) {
|
|
21168
21877
|
return null;
|
|
21169
21878
|
}
|
|
@@ -21171,23 +21880,32 @@ function normalizeTableStyleEdges(style, table, row, col) {
|
|
|
21171
21880
|
if (!border) {
|
|
21172
21881
|
return style;
|
|
21173
21882
|
}
|
|
21174
|
-
const nextBorder = {
|
|
21175
|
-
if (
|
|
21176
|
-
|
|
21177
|
-
nextBorder.bottom = nextBorder.bottom ?? nextBorder.horizontal;
|
|
21178
|
-
}
|
|
21179
|
-
delete nextBorder.horizontal;
|
|
21883
|
+
const nextBorder = {};
|
|
21884
|
+
if (border.top && row === region.startRow) {
|
|
21885
|
+
nextBorder.top = border.top;
|
|
21180
21886
|
}
|
|
21181
|
-
if (
|
|
21182
|
-
|
|
21183
|
-
nextBorder.right = nextBorder.right ?? nextBorder.vertical;
|
|
21184
|
-
}
|
|
21185
|
-
delete nextBorder.vertical;
|
|
21887
|
+
if (border.bottom && row === region.endRow) {
|
|
21888
|
+
nextBorder.bottom = border.bottom;
|
|
21186
21889
|
}
|
|
21187
|
-
|
|
21188
|
-
|
|
21189
|
-
|
|
21190
|
-
|
|
21890
|
+
if (border.left && col === region.startCol) {
|
|
21891
|
+
nextBorder.left = border.left;
|
|
21892
|
+
}
|
|
21893
|
+
if (border.right && col === region.endCol) {
|
|
21894
|
+
nextBorder.right = border.right;
|
|
21895
|
+
}
|
|
21896
|
+
if (border.horizontal && row < region.endRow) {
|
|
21897
|
+
nextBorder.bottom = nextBorder.bottom ?? border.horizontal;
|
|
21898
|
+
}
|
|
21899
|
+
if (border.vertical && col < region.endCol) {
|
|
21900
|
+
nextBorder.right = nextBorder.right ?? border.vertical;
|
|
21901
|
+
}
|
|
21902
|
+
const nextStyle = { ...style };
|
|
21903
|
+
if (Object.keys(nextBorder).length === 0) {
|
|
21904
|
+
delete nextStyle.border;
|
|
21905
|
+
} else {
|
|
21906
|
+
nextStyle.border = nextBorder;
|
|
21907
|
+
}
|
|
21908
|
+
return nextStyle;
|
|
21191
21909
|
}
|
|
21192
21910
|
function resolveTableCellStyle(table, row, col, activeSheet) {
|
|
21193
21911
|
if (!table || !activeSheet) {
|
|
@@ -21197,37 +21915,72 @@ function resolveTableCellStyle(table, row, col, activeSheet) {
|
|
|
21197
21915
|
if (!styleName) {
|
|
21198
21916
|
return null;
|
|
21199
21917
|
}
|
|
21200
|
-
const tableStyle = activeSheet.tableStyleByName[styleName];
|
|
21918
|
+
const tableStyle = activeSheet.tableStyleByName[styleName] ?? resolveBuiltinTableStyle(styleName);
|
|
21201
21919
|
if (!tableStyle) {
|
|
21202
21920
|
return null;
|
|
21203
21921
|
}
|
|
21922
|
+
const headerRowCount = Math.max(table.headerRowCount, 1);
|
|
21923
|
+
const totalsRowCount = table.totalsRowShown ? Math.max(table.totalsRowCount, 1) : 0;
|
|
21924
|
+
const headerEndRow = table.start.row + headerRowCount - 1;
|
|
21925
|
+
const totalsStartRow = table.end.row - totalsRowCount + 1;
|
|
21926
|
+
const bodyStartRow = headerEndRow + 1;
|
|
21927
|
+
const bodyEndRow = totalsStartRow - 1;
|
|
21928
|
+
const isHeaderRow = row >= table.start.row && row <= headerEndRow;
|
|
21929
|
+
const isTotalsRow = totalsRowCount > 0 && row >= totalsStartRow && row <= table.end.row;
|
|
21930
|
+
const isBodyRow = row >= bodyStartRow && row <= bodyEndRow;
|
|
21931
|
+
const isFirstColumn = col === table.start.col;
|
|
21932
|
+
const isLastColumn = col === table.end.col;
|
|
21933
|
+
const tableRegion = {
|
|
21934
|
+
endCol: table.end.col,
|
|
21935
|
+
endRow: table.end.row,
|
|
21936
|
+
startCol: table.start.col,
|
|
21937
|
+
startRow: table.start.row
|
|
21938
|
+
};
|
|
21939
|
+
const headerRegion = { ...tableRegion, endRow: headerEndRow };
|
|
21940
|
+
const totalsRegion = { ...tableRegion, startRow: totalsStartRow };
|
|
21204
21941
|
let resolved = null;
|
|
21205
|
-
const applyElement = (elementType, enabled = true) => {
|
|
21942
|
+
const applyElement = (elementType, region, enabled = true) => {
|
|
21206
21943
|
if (!enabled) {
|
|
21207
21944
|
return;
|
|
21208
21945
|
}
|
|
21209
|
-
const nextStyle = normalizeTableStyleEdges(tableStyle[elementType] ?? null,
|
|
21946
|
+
const nextStyle = normalizeTableStyleEdges(tableStyle[elementType] ?? null, region, row, col);
|
|
21210
21947
|
if (!nextStyle) {
|
|
21211
21948
|
return;
|
|
21212
21949
|
}
|
|
21213
21950
|
resolved = mergeResolvedCellStyle(resolved, nextStyle);
|
|
21214
21951
|
};
|
|
21215
|
-
applyElement("wholeTable");
|
|
21216
|
-
|
|
21217
|
-
|
|
21218
|
-
|
|
21219
|
-
|
|
21220
|
-
|
|
21952
|
+
applyElement("wholeTable", tableRegion);
|
|
21953
|
+
if (isBodyRow && table.styleInfo?.showColumnStripes) {
|
|
21954
|
+
const isFirstStripe = (col - table.start.col) % 2 === 0;
|
|
21955
|
+
applyElement(isFirstStripe ? "firstColumnStripe" : "secondColumnStripe", {
|
|
21956
|
+
endCol: col,
|
|
21957
|
+
endRow: bodyEndRow,
|
|
21958
|
+
startCol: col,
|
|
21959
|
+
startRow: bodyStartRow
|
|
21960
|
+
});
|
|
21961
|
+
}
|
|
21962
|
+
if (isBodyRow && table.styleInfo?.showRowStripes) {
|
|
21963
|
+
const isFirstStripe = (row - bodyStartRow) % 2 === 0;
|
|
21964
|
+
applyElement(isFirstStripe ? "firstRowStripe" : "secondRowStripe", {
|
|
21965
|
+
...tableRegion,
|
|
21966
|
+
endRow: row,
|
|
21967
|
+
startRow: row
|
|
21968
|
+
});
|
|
21969
|
+
}
|
|
21970
|
+
applyElement("lastColumn", { ...tableRegion, startCol: table.end.col }, Boolean(table.styleInfo?.showLastColumn) && isLastColumn);
|
|
21971
|
+
applyElement("firstColumn", { ...tableRegion, endCol: table.start.col }, Boolean(table.styleInfo?.showFirstColumn) && isFirstColumn);
|
|
21972
|
+
applyElement("headerRow", headerRegion, isHeaderRow);
|
|
21221
21973
|
if (isHeaderRow && table.headerRowCellStyle) {
|
|
21222
21974
|
const namedHeaderStyle = activeSheet.namedCellStyleByName[table.headerRowCellStyle];
|
|
21223
21975
|
if (namedHeaderStyle) {
|
|
21224
21976
|
resolved = mergeResolvedCellStyle(resolved, namedHeaderStyle);
|
|
21225
21977
|
}
|
|
21226
21978
|
}
|
|
21227
|
-
|
|
21228
|
-
|
|
21229
|
-
|
|
21230
|
-
}
|
|
21979
|
+
applyElement("totalRow", totalsRegion, isTotalsRow);
|
|
21980
|
+
applyElement("firstHeaderCell", { ...headerRegion, endCol: table.start.col }, isHeaderRow && isFirstColumn);
|
|
21981
|
+
applyElement("lastHeaderCell", { ...headerRegion, startCol: table.end.col }, isHeaderRow && isLastColumn);
|
|
21982
|
+
applyElement("firstTotalCell", { ...totalsRegion, endCol: table.start.col }, isTotalsRow && isFirstColumn);
|
|
21983
|
+
applyElement("lastTotalCell", { ...totalsRegion, startCol: table.end.col }, isTotalsRow && isLastColumn);
|
|
21231
21984
|
return resolved;
|
|
21232
21985
|
}
|
|
21233
21986
|
function getTableHeaderColumn(table, row, col) {
|
|
@@ -21934,7 +22687,8 @@ function resolveConditionalRuleThreshold(threshold, numericValues) {
|
|
|
21934
22687
|
return null;
|
|
21935
22688
|
}
|
|
21936
22689
|
const fallbackValue = typeof threshold.value === "number" ? threshold.value : null;
|
|
21937
|
-
|
|
22690
|
+
const thresholdType = threshold.type.trim().toLowerCase();
|
|
22691
|
+
if (thresholdType === "num" || thresholdType === "formula") {
|
|
21938
22692
|
return fallbackValue;
|
|
21939
22693
|
}
|
|
21940
22694
|
if (numericValues.length === 0) {
|
|
@@ -21942,17 +22696,216 @@ function resolveConditionalRuleThreshold(threshold, numericValues) {
|
|
|
21942
22696
|
}
|
|
21943
22697
|
const minValue = Math.min(...numericValues);
|
|
21944
22698
|
const maxValue = Math.max(...numericValues);
|
|
21945
|
-
if (
|
|
22699
|
+
if (thresholdType === "min") {
|
|
21946
22700
|
return minValue;
|
|
21947
22701
|
}
|
|
21948
|
-
if (
|
|
22702
|
+
if (thresholdType === "max") {
|
|
21949
22703
|
return maxValue;
|
|
21950
22704
|
}
|
|
21951
|
-
if (
|
|
22705
|
+
if (thresholdType === "automin" || thresholdType === "automaticmin") {
|
|
22706
|
+
return Math.min(0, minValue);
|
|
22707
|
+
}
|
|
22708
|
+
if (thresholdType === "automax" || thresholdType === "automaticmax") {
|
|
22709
|
+
return Math.max(0, maxValue);
|
|
22710
|
+
}
|
|
22711
|
+
if ((thresholdType === "percent" || thresholdType === "percentile") && fallbackValue !== null) {
|
|
21952
22712
|
return minValue + (maxValue - minValue) * (fallbackValue / 100);
|
|
21953
22713
|
}
|
|
21954
22714
|
return fallbackValue;
|
|
21955
22715
|
}
|
|
22716
|
+
function parseConditionalFormulaLiteral(formula) {
|
|
22717
|
+
const trimmed = formula.trim();
|
|
22718
|
+
if (trimmed.length === 0) {
|
|
22719
|
+
return null;
|
|
22720
|
+
}
|
|
22721
|
+
const withoutEquals = trimmed.startsWith("=") ? trimmed.slice(1).trim() : trimmed;
|
|
22722
|
+
if (withoutEquals.startsWith('"') && withoutEquals.endsWith('"') && withoutEquals.length >= 2) {
|
|
22723
|
+
return withoutEquals.slice(1, -1).replace(/\"\"/g, '"');
|
|
22724
|
+
}
|
|
22725
|
+
const numeric = Number(withoutEquals.replace(/,/g, ""));
|
|
22726
|
+
if (Number.isFinite(numeric)) {
|
|
22727
|
+
return numeric;
|
|
22728
|
+
}
|
|
22729
|
+
return withoutEquals;
|
|
22730
|
+
}
|
|
22731
|
+
function resolveConditionalCellIsMatch(operator, left, right, numericValue, textValue) {
|
|
22732
|
+
const normalizedOperator = operator.trim();
|
|
22733
|
+
const normalizedText = textValue.trim();
|
|
22734
|
+
const parsedNumericText = Number(normalizedText.replace(/,/g, ""));
|
|
22735
|
+
const effectiveNumericValue = numericValue ?? (Number.isFinite(parsedNumericText) ? parsedNumericText : null);
|
|
22736
|
+
const cellIsTextComparable = effectiveNumericValue === null && normalizedText.length > 0;
|
|
22737
|
+
const compareComparable = (literal, predicate) => {
|
|
22738
|
+
if (typeof literal !== "number") {
|
|
22739
|
+
return false;
|
|
22740
|
+
}
|
|
22741
|
+
if (effectiveNumericValue !== null) {
|
|
22742
|
+
return predicate(effectiveNumericValue, literal);
|
|
22743
|
+
}
|
|
22744
|
+
if (cellIsTextComparable) {
|
|
22745
|
+
return predicate(1, 0);
|
|
22746
|
+
}
|
|
22747
|
+
return false;
|
|
22748
|
+
};
|
|
22749
|
+
switch (normalizedOperator) {
|
|
22750
|
+
case "greaterThan":
|
|
22751
|
+
return compareComparable(left, (cell, value) => cell > value);
|
|
22752
|
+
case "greaterThanOrEqual":
|
|
22753
|
+
return compareComparable(left, (cell, value) => cell >= value);
|
|
22754
|
+
case "lessThan":
|
|
22755
|
+
return compareComparable(left, (cell, value) => cell < value);
|
|
22756
|
+
case "lessThanOrEqual":
|
|
22757
|
+
return compareComparable(left, (cell, value) => cell <= value);
|
|
22758
|
+
case "between":
|
|
22759
|
+
if (typeof left !== "number" || typeof right !== "number") {
|
|
22760
|
+
return false;
|
|
22761
|
+
}
|
|
22762
|
+
if (effectiveNumericValue === null) {
|
|
22763
|
+
return false;
|
|
22764
|
+
}
|
|
22765
|
+
return effectiveNumericValue >= left && effectiveNumericValue <= right;
|
|
22766
|
+
case "notBetween":
|
|
22767
|
+
if (typeof left !== "number" || typeof right !== "number") {
|
|
22768
|
+
return false;
|
|
22769
|
+
}
|
|
22770
|
+
if (effectiveNumericValue === null) {
|
|
22771
|
+
return cellIsTextComparable;
|
|
22772
|
+
}
|
|
22773
|
+
return effectiveNumericValue < left || effectiveNumericValue > right;
|
|
22774
|
+
case "notEqual":
|
|
22775
|
+
if (typeof left === "number") {
|
|
22776
|
+
if (effectiveNumericValue !== null) {
|
|
22777
|
+
return effectiveNumericValue !== left;
|
|
22778
|
+
}
|
|
22779
|
+
return cellIsTextComparable;
|
|
22780
|
+
}
|
|
22781
|
+
return left !== null && normalizedText.toLowerCase() !== String(left).toLowerCase();
|
|
22782
|
+
case "equal":
|
|
22783
|
+
default:
|
|
22784
|
+
if (typeof left === "number") {
|
|
22785
|
+
if (effectiveNumericValue !== null) {
|
|
22786
|
+
return effectiveNumericValue === left;
|
|
22787
|
+
}
|
|
22788
|
+
return false;
|
|
22789
|
+
}
|
|
22790
|
+
return left !== null && normalizedText.toLowerCase() === String(left).toLowerCase();
|
|
22791
|
+
}
|
|
22792
|
+
}
|
|
22793
|
+
function resolveConditionalFormulaComparable(formula, worksheet, sheet, batchedCells) {
|
|
22794
|
+
const literal = parseConditionalFormulaLiteral(formula);
|
|
22795
|
+
if (typeof literal === "number") {
|
|
22796
|
+
return literal;
|
|
22797
|
+
}
|
|
22798
|
+
const normalized = formula.trim().replace(/^=/, "").trim();
|
|
22799
|
+
if (normalized.length === 0) {
|
|
22800
|
+
return literal;
|
|
22801
|
+
}
|
|
22802
|
+
const splitReference = splitSheetFormulaReference(normalized);
|
|
22803
|
+
const targetSheetName = splitReference?.sheetName ?? null;
|
|
22804
|
+
if (targetSheetName && sheet?.name && targetSheetName !== sheet.name) {
|
|
22805
|
+
return literal;
|
|
22806
|
+
}
|
|
22807
|
+
const cellRef = splitReference?.range ?? normalized;
|
|
22808
|
+
const cell = parseA1CellReference3(cellRef.replace(/\$/g, ""));
|
|
22809
|
+
if (!cell) {
|
|
22810
|
+
return literal;
|
|
22811
|
+
}
|
|
22812
|
+
if (worksheet) {
|
|
22813
|
+
const numeric = getCellNumericValue(worksheet, cell.row, cell.col);
|
|
22814
|
+
if (numeric !== null) {
|
|
22815
|
+
return numeric;
|
|
22816
|
+
}
|
|
22817
|
+
return getCellDisplayValue(worksheet, cell.row, cell.col, sheet);
|
|
22818
|
+
}
|
|
22819
|
+
if (batchedCells) {
|
|
22820
|
+
const batched = batchedCells.get(`${cell.row}:${cell.col}`);
|
|
22821
|
+
if (batched) {
|
|
22822
|
+
const numeric = getBatchedCellNumericValue(batched);
|
|
22823
|
+
if (numeric !== null) {
|
|
22824
|
+
return numeric;
|
|
22825
|
+
}
|
|
22826
|
+
return batched.value;
|
|
22827
|
+
}
|
|
22828
|
+
}
|
|
22829
|
+
return literal;
|
|
22830
|
+
}
|
|
22831
|
+
function normalizeConditionalTextOperand(value) {
|
|
22832
|
+
if (value === null || value === void 0) {
|
|
22833
|
+
return "";
|
|
22834
|
+
}
|
|
22835
|
+
return String(value).trim().toLowerCase();
|
|
22836
|
+
}
|
|
22837
|
+
function resolveConditionalStyledRuleMatch(rule, numericValue, textValue, worksheet, sheet, batchedCells) {
|
|
22838
|
+
const normalizedRuleType = rule.ruleType.trim().toLowerCase();
|
|
22839
|
+
const left = resolveConditionalFormulaComparable(rule.formulas?.[0] ?? "", worksheet, sheet, batchedCells);
|
|
22840
|
+
const right = resolveConditionalFormulaComparable(rule.formulas?.[1] ?? "", worksheet, sheet, batchedCells);
|
|
22841
|
+
if (normalizedRuleType === "cellis") {
|
|
22842
|
+
return resolveConditionalCellIsMatch(rule.operator ?? "equal", left, right, numericValue, textValue);
|
|
22843
|
+
}
|
|
22844
|
+
const normalizedCellText = textValue.trim().toLowerCase();
|
|
22845
|
+
const normalizedOperand = normalizeConditionalTextOperand(rule.text) || normalizeConditionalTextOperand(left);
|
|
22846
|
+
switch (normalizedRuleType) {
|
|
22847
|
+
case "beginwith":
|
|
22848
|
+
case "beginswith":
|
|
22849
|
+
return normalizedOperand.length > 0 && normalizedCellText.startsWith(normalizedOperand);
|
|
22850
|
+
case "endwith":
|
|
22851
|
+
case "endswith":
|
|
22852
|
+
return normalizedOperand.length > 0 && normalizedCellText.endsWith(normalizedOperand);
|
|
22853
|
+
case "containstext":
|
|
22854
|
+
return normalizedOperand.length > 0 && normalizedCellText.includes(normalizedOperand);
|
|
22855
|
+
case "notcontainstext":
|
|
22856
|
+
return normalizedOperand.length > 0 && !normalizedCellText.includes(normalizedOperand);
|
|
22857
|
+
default:
|
|
22858
|
+
return false;
|
|
22859
|
+
}
|
|
22860
|
+
}
|
|
22861
|
+
var styledConditionalRulesByRuleList = /* @__PURE__ */ new WeakMap();
|
|
22862
|
+
function getStyledConditionalRules(rules) {
|
|
22863
|
+
let styledRules = styledConditionalRulesByRuleList.get(rules);
|
|
22864
|
+
if (!styledRules) {
|
|
22865
|
+
styledRules = rules.filter((rule) => rule.kind === "styled");
|
|
22866
|
+
styledConditionalRulesByRuleList.set(rules, styledRules);
|
|
22867
|
+
}
|
|
22868
|
+
return styledRules;
|
|
22869
|
+
}
|
|
22870
|
+
function resolveConditionalCellStyleForCell(row, col, sheet, readNumericValue, readTextValue, worksheet, batchedCells) {
|
|
22871
|
+
const rules = sheet?.conditionalFormatRules;
|
|
22872
|
+
if (!sheet || !rules || rules.length === 0) {
|
|
22873
|
+
return null;
|
|
22874
|
+
}
|
|
22875
|
+
const styledRules = getStyledConditionalRules(rules);
|
|
22876
|
+
if (styledRules.length === 0) {
|
|
22877
|
+
return null;
|
|
22878
|
+
}
|
|
22879
|
+
const matchedStyles = [];
|
|
22880
|
+
let numericValue;
|
|
22881
|
+
let textValue;
|
|
22882
|
+
for (const rule of styledRules) {
|
|
22883
|
+
if (!rule.ranges.some((range) => isCellInRange({ row, col }, range))) {
|
|
22884
|
+
continue;
|
|
22885
|
+
}
|
|
22886
|
+
if (numericValue === void 0) {
|
|
22887
|
+
numericValue = readNumericValue();
|
|
22888
|
+
}
|
|
22889
|
+
if (textValue === void 0) {
|
|
22890
|
+
textValue = readTextValue();
|
|
22891
|
+
}
|
|
22892
|
+
if (!resolveConditionalStyledRuleMatch(rule, numericValue, textValue, worksheet, sheet, batchedCells)) {
|
|
22893
|
+
continue;
|
|
22894
|
+
}
|
|
22895
|
+
matchedStyles.push(rule.style);
|
|
22896
|
+
if (rule.stopIfTrue) {
|
|
22897
|
+
break;
|
|
22898
|
+
}
|
|
22899
|
+
}
|
|
22900
|
+
if (matchedStyles.length === 0) {
|
|
22901
|
+
return null;
|
|
22902
|
+
}
|
|
22903
|
+
let resolved = null;
|
|
22904
|
+
for (let index = matchedStyles.length - 1; index >= 0; index -= 1) {
|
|
22905
|
+
resolved = mergeResolvedCellStyle(resolved, matchedStyles[index]);
|
|
22906
|
+
}
|
|
22907
|
+
return resolved;
|
|
22908
|
+
}
|
|
21956
22909
|
function buildConditionalIcon(iconSet, iconId) {
|
|
21957
22910
|
switch (iconSet) {
|
|
21958
22911
|
case "NoIcons":
|
|
@@ -22960,6 +23913,7 @@ function GridRow({
|
|
|
22960
23913
|
"div",
|
|
22961
23914
|
{
|
|
22962
23915
|
style: {
|
|
23916
|
+
left: cellData.spillOffsetX ?? 0,
|
|
22963
23917
|
maxWidth: cellData.spillWidth,
|
|
22964
23918
|
overflow: "visible",
|
|
22965
23919
|
pointerEvents: "none",
|
|
@@ -23196,6 +24150,8 @@ function XlsxGrid({
|
|
|
23196
24150
|
const firstVisibleRowRef = React4.useRef(void 0);
|
|
23197
24151
|
const lastVisibleRowRef = React4.useRef(void 0);
|
|
23198
24152
|
const cellRenderCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
24153
|
+
const cellBaseRawStyleCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
24154
|
+
const mergedBorderOverlayCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
23199
24155
|
const conditionalFormatMetricsCacheRef = React4.useRef(/* @__PURE__ */ new Map());
|
|
23200
24156
|
const resizeStateRef = React4.useRef(null);
|
|
23201
24157
|
const resizeFrameRef = React4.useRef(null);
|
|
@@ -25221,6 +26177,8 @@ function XlsxGrid({
|
|
|
25221
26177
|
const cellRenderCacheInvalidationRef = React4.useRef(null);
|
|
25222
26178
|
if (cellRenderCacheInvalidationRef.current !== cellRenderCacheInvalidationKey) {
|
|
25223
26179
|
cellRenderCacheRef.current.clear();
|
|
26180
|
+
cellBaseRawStyleCacheRef.current.clear();
|
|
26181
|
+
mergedBorderOverlayCacheRef.current.clear();
|
|
25224
26182
|
cellRenderCacheInvalidationRef.current = cellRenderCacheInvalidationKey;
|
|
25225
26183
|
}
|
|
25226
26184
|
const getCellData = React4.useCallback((row, col) => {
|
|
@@ -25259,13 +26217,64 @@ function XlsxGrid({
|
|
|
25259
26217
|
return mergedSecondaryData;
|
|
25260
26218
|
}
|
|
25261
26219
|
const merge = worksheet ? worksheet.getMergeSpan(row, col) : batchCoversRow ? batchedCell?.mergeSpan : null;
|
|
25262
|
-
const
|
|
25263
|
-
|
|
25264
|
-
|
|
26220
|
+
const resolveBaseResolvedStyle = (targetRow, targetCol) => {
|
|
26221
|
+
const targetCacheKey = `${targetRow}:${targetCol}`;
|
|
26222
|
+
const cachedBaseStyle = cellBaseRawStyleCacheRef.current.get(targetCacheKey);
|
|
26223
|
+
if (cachedBaseStyle !== void 0) {
|
|
26224
|
+
return cachedBaseStyle;
|
|
26225
|
+
}
|
|
26226
|
+
const targetBatchCoversRow = viewportRowBatch ? targetRow >= viewportRowBatch.startRow && targetRow <= viewportRowBatch.endRow : false;
|
|
26227
|
+
const targetBatchedCell = targetBatchCoversRow ? viewportRowBatch?.cells.get(targetCacheKey) : void 0;
|
|
26228
|
+
const targetInheritedStyle = resolveInheritedCellStyle2(activeSheet, targetRow, targetCol);
|
|
26229
|
+
const targetWorksheetStyle = targetBatchCoversRow ? targetBatchedCell?.style ?? null : worksheet?.getCellStyleAt(targetRow, targetCol) ?? null;
|
|
26230
|
+
const targetRawStyle = mergeResolvedCellStyle(targetInheritedStyle, targetWorksheetStyle, {
|
|
26231
|
+
replaceXfSubtrees: true
|
|
26232
|
+
});
|
|
26233
|
+
const targetTable = getTableAtCell(effectiveTables, targetRow, targetCol);
|
|
26234
|
+
const targetTableStyle = resolveTableCellStyle(targetTable, targetRow, targetCol, activeSheet);
|
|
26235
|
+
const resolvedStyle = mergeResolvedCellStyle(targetRawStyle, targetTableStyle);
|
|
26236
|
+
cellBaseRawStyleCacheRef.current.set(targetCacheKey, resolvedStyle);
|
|
26237
|
+
return resolvedStyle;
|
|
26238
|
+
};
|
|
25265
26239
|
const table = getTableAtCell(effectiveTables, row, col);
|
|
25266
|
-
const
|
|
25267
|
-
const
|
|
25268
|
-
|
|
26240
|
+
const mergeRowSpan = Math.max(1, merge?.rowSpan ?? 1);
|
|
26241
|
+
const mergeColSpan = Math.max(1, merge?.colSpan ?? 1);
|
|
26242
|
+
let mergedBorderOverlay = null;
|
|
26243
|
+
if (mergeRowSpan > 1 || mergeColSpan > 1) {
|
|
26244
|
+
const mergedBorderOverlayCacheKey = `${row}:${col}:${mergeRowSpan}:${mergeColSpan}`;
|
|
26245
|
+
const cachedOverlay = mergedBorderOverlayCacheRef.current.get(mergedBorderOverlayCacheKey);
|
|
26246
|
+
if (cachedOverlay !== void 0) {
|
|
26247
|
+
mergedBorderOverlay = cachedOverlay;
|
|
26248
|
+
} else {
|
|
26249
|
+
mergedBorderOverlay = resolveMergedRegionBorderOverlay(
|
|
26250
|
+
row,
|
|
26251
|
+
col,
|
|
26252
|
+
merge,
|
|
26253
|
+
(targetRow, targetCol) => resolveBaseResolvedStyle(targetRow, targetCol)
|
|
26254
|
+
);
|
|
26255
|
+
mergedBorderOverlayCacheRef.current.set(mergedBorderOverlayCacheKey, mergedBorderOverlay);
|
|
26256
|
+
}
|
|
26257
|
+
}
|
|
26258
|
+
const baseResolvedStyle = resolveBaseResolvedStyle(row, col);
|
|
26259
|
+
const resolvedMergedStyle = mergeResolvedCellStyle(baseResolvedStyle, mergedBorderOverlay);
|
|
26260
|
+
let displayValue = null;
|
|
26261
|
+
const readDisplayValue = () => {
|
|
26262
|
+
if (displayValue === null) {
|
|
26263
|
+
displayValue = batchCoversRow || !worksheet ? batchedCell?.value ?? "" : getCellDisplayValue(worksheet, row, col, activeSheet);
|
|
26264
|
+
}
|
|
26265
|
+
return displayValue;
|
|
26266
|
+
};
|
|
26267
|
+
const conditionalCellStyle = resolveConditionalCellStyleForCell(
|
|
26268
|
+
row,
|
|
26269
|
+
col,
|
|
26270
|
+
activeSheet,
|
|
26271
|
+
() => worksheet ? getCellNumericValue(worksheet, row, col) : getBatchedCellNumericValue(batchedCell),
|
|
26272
|
+
readDisplayValue,
|
|
26273
|
+
worksheet,
|
|
26274
|
+
viewportRowBatch?.cells
|
|
26275
|
+
);
|
|
26276
|
+
const finalResolvedStyle = mergeResolvedCellStyle(resolvedMergedStyle, conditionalCellStyle);
|
|
26277
|
+
const alignment = finalResolvedStyle?.alignment;
|
|
25269
26278
|
const textRotationDeg = resolveSpreadsheetTextRotation(alignment?.textRotation);
|
|
25270
26279
|
const headerRowCount = table ? Math.max(table.headerRowCount, 1) : 0;
|
|
25271
26280
|
const rawHyperlink = batchCoversRow ? batchedCell?.hyperlink : worksheet?.getHyperlinkAt(row, col);
|
|
@@ -25285,7 +26294,7 @@ function XlsxGrid({
|
|
|
25285
26294
|
sparkline.range.start.col
|
|
25286
26295
|
)
|
|
25287
26296
|
) : null;
|
|
25288
|
-
const checkboxState =
|
|
26297
|
+
const checkboxState = finalResolvedStyle?.cellControl && worksheet ? getCellBooleanValue(worksheet, row, col) : null;
|
|
25289
26298
|
const chartHighlight = resolveCellChartHighlight({ row, col }, activeSheetChartHighlights);
|
|
25290
26299
|
const nextData = {
|
|
25291
26300
|
canvas: void 0,
|
|
@@ -25319,12 +26328,12 @@ function XlsxGrid({
|
|
|
25319
26328
|
isTableHeader: Boolean(table && row >= table.start.row && row < table.start.row + headerRowCount),
|
|
25320
26329
|
rowSpan: merge?.rowSpan,
|
|
25321
26330
|
sparkline: sparkline && sparklineValues ? { config: sparkline, values: sparklineValues } : null,
|
|
25322
|
-
style: scaleCssProperties(buildCellStyle(
|
|
26331
|
+
style: scaleCssProperties(buildCellStyle(finalResolvedStyle, palette, activeSheet?.themePalette, {
|
|
25323
26332
|
showGridLines: activeSheet?.showGridLines
|
|
25324
26333
|
}), zoomFactor),
|
|
25325
26334
|
textRotationDeg,
|
|
25326
26335
|
validation: resolveCellDataValidation(row, col, activeSheet),
|
|
25327
|
-
value: sparkline ? "" : checkboxState !== null ? "" :
|
|
26336
|
+
value: sparkline ? "" : checkboxState !== null ? "" : readDisplayValue()
|
|
25328
26337
|
};
|
|
25329
26338
|
if (getCellStyle) {
|
|
25330
26339
|
const styleOverrides = getCellStyle({
|
|
@@ -25350,6 +26359,7 @@ function XlsxGrid({
|
|
|
25350
26359
|
}
|
|
25351
26360
|
}
|
|
25352
26361
|
nextData.canvas = buildCanvasCellStyleCache(nextData.style);
|
|
26362
|
+
cellRenderCacheRef.current.set(cacheKey, nextData);
|
|
25353
26363
|
if (canCellTextOverflow(nextData)) {
|
|
25354
26364
|
const startColIndex = colIndexByActual.get(col);
|
|
25355
26365
|
if (startColIndex !== void 0) {
|
|
@@ -25362,9 +26372,13 @@ function XlsxGrid({
|
|
|
25362
26372
|
displayEffectiveColWidths[startColIndex] ?? displayDefaultColWidth,
|
|
25363
26373
|
sumPrefixRange(colPrefixSums, startColIndex, endColIndex)
|
|
25364
26374
|
);
|
|
26375
|
+
const align = nextData.style.textAlign;
|
|
26376
|
+
const spillSide = align === "right" || align === "end" ? "left" : "right";
|
|
25365
26377
|
let availableWidth = baseWidth;
|
|
25366
26378
|
if (requiredWidth > availableWidth) {
|
|
25367
|
-
|
|
26379
|
+
const nextColStep = spillSide === "left" ? -1 : 1;
|
|
26380
|
+
let nextColIndex = spillSide === "left" ? startColIndex - 1 : endColIndex + 1;
|
|
26381
|
+
while (nextColIndex >= 0 && nextColIndex < visibleCols.length) {
|
|
25368
26382
|
const nextActualCol = visibleCols[nextColIndex];
|
|
25369
26383
|
if (nextActualCol === void 0) {
|
|
25370
26384
|
break;
|
|
@@ -25377,9 +26391,12 @@ function XlsxGrid({
|
|
|
25377
26391
|
if (requiredWidth <= availableWidth) {
|
|
25378
26392
|
break;
|
|
25379
26393
|
}
|
|
26394
|
+
nextColIndex += nextColStep;
|
|
25380
26395
|
}
|
|
25381
26396
|
if (availableWidth > baseWidth) {
|
|
25382
26397
|
nextData.spillWidth = Math.max(0, availableWidth - horizontalPadding);
|
|
26398
|
+
nextData.spillSide = spillSide;
|
|
26399
|
+
nextData.spillOffsetX = spillSide === "left" ? Math.min(0, baseWidth - availableWidth) : 0;
|
|
25383
26400
|
}
|
|
25384
26401
|
}
|
|
25385
26402
|
}
|
|
@@ -25424,7 +26441,6 @@ function XlsxGrid({
|
|
|
25424
26441
|
}
|
|
25425
26442
|
}
|
|
25426
26443
|
}
|
|
25427
|
-
cellRenderCacheRef.current.set(cacheKey, nextData);
|
|
25428
26444
|
return nextData;
|
|
25429
26445
|
}, [
|
|
25430
26446
|
activeSheet,
|
|
@@ -27594,11 +28610,13 @@ function XlsxGrid({
|
|
|
27594
28610
|
top: (useFrozenVerticalPosition ? stickyTopByRow.get(drawCell.row) ?? baseTop - drawingViewport.top : baseTop - drawingViewport.top) - paneBoundsForCell.top,
|
|
27595
28611
|
width: displayRect?.width ?? (displayEffectiveColWidths[drawColIndex] ?? colItem.size)
|
|
27596
28612
|
};
|
|
28613
|
+
const spillOffsetX = Math.min(0, cellData.spillOffsetX ?? 0);
|
|
28614
|
+
const drawableLeft = localRect.left + spillOffsetX;
|
|
27597
28615
|
const drawableWidth = Math.max(localRect.width, cellData.spillWidth ?? 0);
|
|
27598
|
-
if (
|
|
28616
|
+
if (drawableLeft + drawableWidth < 0 || localRect.top + localRect.height < 0 || drawableLeft > paneBoundsForCell.width || localRect.top > paneBoundsForCell.height) {
|
|
27599
28617
|
continue;
|
|
27600
28618
|
}
|
|
27601
|
-
if (!intersectsCanvasDirtyRects(
|
|
28619
|
+
if (!intersectsCanvasDirtyRects(drawableLeft, localRect.top, drawableWidth, localRect.height, paneDirtyRects)) {
|
|
27602
28620
|
canvasProfileCulledCells += 1;
|
|
27603
28621
|
continue;
|
|
27604
28622
|
}
|
|
@@ -27648,11 +28666,27 @@ function XlsxGrid({
|
|
|
27648
28666
|
const bottomBorder = canvasCellStyle.bottomBorder;
|
|
27649
28667
|
const leftBorder = canvasCellStyle.leftBorder;
|
|
27650
28668
|
const rightNeighborCol = visibleCols[drawColIndex + Math.max(1, cellData.colSpan ?? 1)];
|
|
27651
|
-
const
|
|
27652
|
-
const
|
|
28669
|
+
const rightNeighborCell = rightNeighborCol === void 0 ? null : { row: drawCell.row, col: rightNeighborCol };
|
|
28670
|
+
const rightNeighborData = rightNeighborCell ? getCellData(rightNeighborCell.row, rightNeighborCell.col) : null;
|
|
28671
|
+
let rightNeighborLeftBorder = rightNeighborData?.isMergedSecondary ? null : rightNeighborData?.canvas?.leftBorder ?? parseCanvasBorderDeclaration(rightNeighborData?.style.borderLeft);
|
|
28672
|
+
if (rightNeighborLeftBorder == null && rightNeighborCell && rightNeighborData?.isMergedSecondary) {
|
|
28673
|
+
const rightNeighborAnchorCell = resolveMergeAnchorCell(rightNeighborCell);
|
|
28674
|
+
if (rightNeighborAnchorCell.col === rightNeighborCell.col) {
|
|
28675
|
+
const rightNeighborAnchorData = getCellData(rightNeighborAnchorCell.row, rightNeighborAnchorCell.col);
|
|
28676
|
+
rightNeighborLeftBorder = rightNeighborAnchorData.isMergedSecondary ? null : rightNeighborAnchorData.canvas?.leftBorder ?? parseCanvasBorderDeclaration(rightNeighborAnchorData.style.borderLeft);
|
|
28677
|
+
}
|
|
28678
|
+
}
|
|
27653
28679
|
const bottomNeighborRow = visibleRows[drawRowIndex + Math.max(1, cellData.rowSpan ?? 1)];
|
|
27654
|
-
const
|
|
27655
|
-
const
|
|
28680
|
+
const bottomNeighborCell = bottomNeighborRow === void 0 ? null : { row: bottomNeighborRow, col: drawCell.col };
|
|
28681
|
+
const bottomNeighborData = bottomNeighborCell ? getCellData(bottomNeighborCell.row, bottomNeighborCell.col) : null;
|
|
28682
|
+
let bottomNeighborTopBorder = bottomNeighborData?.isMergedSecondary ? null : bottomNeighborData?.canvas?.topBorder ?? parseCanvasBorderDeclaration(bottomNeighborData?.style.borderTop);
|
|
28683
|
+
if (bottomNeighborTopBorder == null && bottomNeighborCell && bottomNeighborData?.isMergedSecondary) {
|
|
28684
|
+
const bottomNeighborAnchorCell = resolveMergeAnchorCell(bottomNeighborCell);
|
|
28685
|
+
if (bottomNeighborAnchorCell.row === bottomNeighborCell.row) {
|
|
28686
|
+
const bottomNeighborAnchorData = getCellData(bottomNeighborAnchorCell.row, bottomNeighborAnchorCell.col);
|
|
28687
|
+
bottomNeighborTopBorder = bottomNeighborAnchorData.isMergedSecondary ? null : bottomNeighborAnchorData.canvas?.topBorder ?? parseCanvasBorderDeclaration(bottomNeighborAnchorData.style.borderTop);
|
|
28688
|
+
}
|
|
28689
|
+
}
|
|
27656
28690
|
const resolvedRightBorder = resolveCanvasBoundaryBorder(rightBorder, rightNeighborLeftBorder);
|
|
27657
28691
|
const resolvedBottomBorder = resolveCanvasBoundaryBorder(bottomBorder, bottomNeighborTopBorder);
|
|
27658
28692
|
if (showGridLines && (!resolvedRightBorder || !resolvedBottomBorder)) {
|
|
@@ -27901,10 +28935,11 @@ function XlsxGrid({
|
|
|
27901
28935
|
} else if (spillMaxWidth != null) {
|
|
27902
28936
|
const text = shouldEllipsizeText ? truncateCanvasText(paneContext, rawText, maxTextWidth) : rawText;
|
|
27903
28937
|
const textY = resolveCanvasTextMiddleY(cellStyle.verticalAlign, contentTop, contentHeight, singleLineHeight);
|
|
28938
|
+
const spillClipLeft = cellData.spillSide === "left" ? contentLeft + contentWidth - spillMaxWidth - textClipOverscan : contentLeft - textClipOverscan;
|
|
27904
28939
|
deferredSpillTextsByPane[pane].push({
|
|
27905
28940
|
align,
|
|
27906
28941
|
clipHeight: contentHeight + textClipOverscan * 2,
|
|
27907
|
-
clipLeft:
|
|
28942
|
+
clipLeft: spillClipLeft,
|
|
27908
28943
|
clipTop: contentTop - textClipOverscan,
|
|
27909
28944
|
clipWidth: spillMaxWidth + textClipOverscan * 2,
|
|
27910
28945
|
color: textColor,
|
|
@@ -31592,7 +32627,17 @@ function useXlsxViewerThumbnails(options = {}) {
|
|
|
31592
32627
|
const inheritedStyle = resolveInheritedCellStyle2(sheet, row, col);
|
|
31593
32628
|
const worksheetStyle = worksheet ? worksheet.getCellStyleAt(row, col) ?? null : batchedCell?.style ?? null;
|
|
31594
32629
|
const mergedStyle = mergeResolvedCellStyle(inheritedStyle, worksheetStyle, { replaceXfSubtrees: true });
|
|
31595
|
-
const
|
|
32630
|
+
const conditionalCellStyle = resolveConditionalCellStyleForCell(
|
|
32631
|
+
row,
|
|
32632
|
+
col,
|
|
32633
|
+
sheet,
|
|
32634
|
+
() => worksheet ? getCellNumericValue(worksheet, row, col) : getBatchedCellNumericValue(batchedCell),
|
|
32635
|
+
() => worksheet ? getCellDisplayValue(worksheet, row, col, sheet) : batchedCell?.value ?? "",
|
|
32636
|
+
worksheet,
|
|
32637
|
+
workerRowBatch?.cells
|
|
32638
|
+
);
|
|
32639
|
+
const finalResolvedStyle = mergeResolvedCellStyle(mergedStyle, conditionalCellStyle);
|
|
32640
|
+
const alignment = finalResolvedStyle?.alignment;
|
|
31596
32641
|
const sparkline = sparklineByCell.get(cacheKey) ?? null;
|
|
31597
32642
|
const getNumericValue = (targetRow, targetCol) => worksheet ? getCellNumericValue(worksheet, targetRow, targetCol) : getBatchedCellNumericValue(workerRowBatch?.cells.get(`${targetRow}:${targetCol}`));
|
|
31598
32643
|
const sparklineValues = sparkline ? sparkline.range.start.row === sparkline.range.end.row ? Array.from(
|
|
@@ -31608,7 +32653,7 @@ function useXlsxViewerThumbnails(options = {}) {
|
|
|
31608
32653
|
sparkline.range.start.col
|
|
31609
32654
|
)
|
|
31610
32655
|
) : null;
|
|
31611
|
-
const checkboxState =
|
|
32656
|
+
const checkboxState = finalResolvedStyle?.cellControl ? worksheet ? getCellBooleanValue(worksheet, row, col) : getBatchedCellBooleanValue(batchedCell) : null;
|
|
31612
32657
|
const nextData = {
|
|
31613
32658
|
canvas: void 0,
|
|
31614
32659
|
checkboxState,
|
|
@@ -31619,7 +32664,7 @@ function useXlsxViewerThumbnails(options = {}) {
|
|
|
31619
32664
|
isMergedSecondary: false,
|
|
31620
32665
|
rowSpan: merge?.rowSpan,
|
|
31621
32666
|
sparkline: sparkline && sparklineValues ? { config: sparkline, values: sparklineValues } : null,
|
|
31622
|
-
style: buildCellStyle(
|
|
32667
|
+
style: buildCellStyle(finalResolvedStyle, palette, sheet.themePalette, {
|
|
31623
32668
|
showGridLines
|
|
31624
32669
|
}),
|
|
31625
32670
|
textRotationDeg: resolveSpreadsheetTextRotation(alignment?.textRotation),
|