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