diff --git a/README-zh.md b/README-zh.md
index 32eb4ed..ebc83e7 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -148,6 +148,9 @@ npm run build
})
```
+## 加入共建
+
+如果你想为 Luckysheet 实现一个重要功能,需要先撰写 RFC 文档,按照Luckysheet的 [RFC](https://github.com/mengshukeji/Luckysheet-rfcs) 机制进行操作,在经过社区讨论完善后才可以进行代码的提交。
## 联系
- 欢迎提交 PR 或者 [Issues](https://github.com/mengshukeji/Luckysheet/issues/new/choose)
diff --git a/README.md b/README.md
index d930a2a..8bcf504 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,9 @@

[](https://gitter.im/mengshukeji/Luckysheet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+
@@ -151,6 +154,9 @@ Create a table
})
```
+## Join the co-construction
+
+If you want to implement an important function for Luckysheet, you need to write an RFC document first, follow Luckysheet's [RFC](https://github.com/mengshukeji/Luckysheet-rfcs) to operate, and submit the code after community discussion and improvement.
## Contact
- Welcome to submit PR or [Issues](https://github.com/mengshukeji/Luckysheet/issues/new/choose)
diff --git a/docs/guide/FAQ.md b/docs/guide/FAQ.md
index 6f003d9..6712b0c 100644
--- a/docs/guide/FAQ.md
+++ b/docs/guide/FAQ.md
@@ -1,6 +1,6 @@
# FAQ
-## What is the difference between data and celldata in luckysheetfile?
+## **Q** What is the difference between data and celldata in luckysheetfile?
**A**: Use one-dimensional array format [celldata](/zh/guide/sheet.html#celldata), after the initialization is completed, the data converted into a two-dimensional array format is used for storage and update, and celldata is no longer used.
@@ -18,20 +18,32 @@ luckysheet.buildGridData(luckysheetfile)
------------
-## What are the cell types?
+## **Q** What are the cell types?
**A**: Refer to [Cell Format List](/zh/guide/cell.html), with examples of available cell formats
------------
-## How to use Luckysheet in vue project?
+## **Q** How to use Luckysheet in vue project?
**A** : Reference [Luckysheet-vue-demo](https://github.com/Dushusir/vue-demo)
------------
-## Why will the formula in the table not be triggered after initialization?
+## **Q** Why will the formula in the table not be triggered after initialization?
**A** : Refer to [Table data format](/zh/guide/sheet.html#calcchain) ,just set the calcChain corresponding to the cell data.
-------------
\ No newline at end of file
+------------
+
+## **Q** Is the remote loading data loadUrl or updateUrl?
+
+**A**: [loadUrl](/zh/guide/config.html#loadurl). Configure loadUrl, Luckysheet will request the entire table data through ajax, and updateUrl will be used as the interface address for collaborative editing in real-time saving.
+
+------------
+
+## **Q** How to understand the `index` and `order` of each worksheet?
+
+**A**: Each worksheet has a unique id, which is `index`, which can be incremented by numbers or a random string. And `order` is the order of all worksheets, starting from 0.
+
+------------
diff --git a/docs/zh/guide/FAQ.md b/docs/zh/guide/FAQ.md
index 3969bff..4591e9c 100644
--- a/docs/zh/guide/FAQ.md
+++ b/docs/zh/guide/FAQ.md
@@ -1,6 +1,6 @@
# FAQ
-## luckysheetfile中的data和celldata有什么区别?
+## **Q** luckysheetfile中的data和celldata有什么区别?
**A** : 表格初始化时使用一维数组格式的 [celldata](/zh/guide/sheet.html#celldata),初始化完成后转化为二维数组格式的data作为存储更新使用,celldata不再使用。
@@ -18,20 +18,32 @@ luckysheet.buildGridData(luckysheetfile)
------------
-## 单元格的类型有哪些?
+## **Q** 单元格的类型有哪些?
**A** : 参考[单元格格式列表](/zh/guide/cell.html),例举了可用的单元格格式
------------
-## 如何在vue项目中使用Luckysheet?
+## **Q** 如何在vue项目中使用Luckysheet?
**A** : 参考 [Luckysheet-vue-demo](https://github.com/Dushusir/vue-demo)
------------
-## 为什么初始化后表格里面的公式不会被触发?
+## **Q** 为什么初始化后表格里面的公式不会被触发?
**A** : 参考 [表格数据格式](/zh/guide/sheet.html#calcchain) ,设置单元格数据对应的calcChain即可。
+------------
+
+## **Q** 远端加载数据是loadUrl还是updateUrl?
+
+**A** : [loadUrl](/zh/guide/config.html#loadurl)。配置了loadUrl,Luckysheet会通过ajax请求整个表格数据,而updateUrl会作为协同编辑实时保存的接口地址。
+
+------------
+
+## **Q** 如何理解每个sheet页的`index`和`order`?
+
+**A** : 每个sheet页都有一个唯一id,就是`index`,可以用数字递增,也可以使用随机字符串,而`order`是所有的sheet的排序情况,从0开始,即为索引。
+
------------
\ No newline at end of file
diff --git a/docs/zh/guide/api.md b/docs/zh/guide/api.md
index fff2e20..ac5aaef 100644
--- a/docs/zh/guide/api.md
+++ b/docs/zh/guide/api.md
@@ -9,7 +9,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
## 单元格操作
-### getCellValue(row, column [,setting])
+### getCellValue(row, column [,setting])
- **参数**:
@@ -143,7 +143,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- **示例**:
- 当前工作表查找`"value"`字符串并替换为`"out"`
- `luckysheet.find("value", "out)`
+ `luckysheet.replaces("value", "out)`
------------
@@ -159,7 +159,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ `"false"`: 冻结首行
+ `"true"`: 冻结行到选区
- {PlainObject} [setting]: 可选参数
- + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的单元格位置,格式为`{ row_focus:0, column_focus:0 }`,意为当前激活的单元格的行数和列数;默认从当前选区最后的一个选区中取得
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
@@ -167,7 +167,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
冻结行操作
- 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`。
+ 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`,且与一般的range格式不同。
- **示例**:
@@ -191,7 +191,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ `"false"`: 冻结首列
+ `"true"`: 冻结列到选区
- {PlainObject} [setting]: 可选参数
- + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的单元格位置,格式为`{ row_focus:0, column_focus:0 }`,意为当前激活的单元格的行数和列数;默认从当前选区最后的一个选区中取得
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
@@ -199,7 +199,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
冻结列操作
- 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`。
+ 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`,且与一般的range格式不同。
- **示例**:
@@ -219,7 +219,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ `"false"`: 冻结行列
+ `"true"`: 冻结行列到选区
- {PlainObject} [setting]: 可选参数
- + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的单元格位置,格式为`{ row_focus:0, column_focus:0 }`,意为当前激活的单元格的行数和列数;默认从当前选区最后的一个选区中取得
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
@@ -227,7 +227,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
冻结行列操作
- 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`。
+ 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`,且与一般的range格式不同。
- **示例**:
@@ -257,7 +257,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-### insertRow( row [,setting])
+### insertRow(row [,setting])
- **参数**:
@@ -504,10 +504,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
[
{
"v": "vaule1",
- "ct": {
- "fa": "General",
- "t": "g"
- },
+ "ct": { "fa": "General", "t": "g" },
"m": "vaule1",
"bg": "rgba(255,255,255)",
"bl": 0,
@@ -520,10 +517,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
},
{
"v": "value3",
- "ct": {
- "fa": "General",
- "t": "g"
- },
+ "ct": { "fa": "General", "t": "g" },
"m": "value3",
"bg": "rgba(255,255,255)",
"bl": 0,
@@ -538,10 +532,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
[
{
"v": "vaule2",
- "ct": {
- "fa": "General",
- "t": "g"
- },
+ "ct": { "fa": "General", "t": "g" },
"m": "vaule2",
"bg": "rgba(255,255,255)",
"bl": 0,
@@ -554,10 +545,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
},
{
"v": "value4",
- "ct": {
- "fa": "General",
- "t": "g"
- },
+ "ct": { "fa": "General", "t": "g" },
"m": "value4",
"bg": "rgba(255,255,255)",
"bl": 0,
@@ -637,9 +625,34 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
- **说明**:
-
+
复制指定工作表指定单元格区域的数据,返回`json`格式的数据
+- **示例**:
+
+ - 当前选区为"A1:B2",首行为标题取得json
+
+ `luckysheet.getRangeJson(true)`
+
+ 则返回结果为:
+ ```json
+ [
+ { "A": "value1", "B": "value3" },
+ { "A": "value2", "B": "value4" }
+ ]
+ ```
+
+ - 当前选区为"A1:B2",首行不为标题取得json
+
+ `luckysheet.getRangeJson(false)`
+
+ 则返回结果为:
+ ```json
+ [
+ { "value1": "value2", "value3": "value4" }
+ ]
+ ```
+
------------
### getRangeArray(dimensional [,setting])
@@ -652,7 +665,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ `"oneDimensional"`: 一维数组
+ `"twoDimensional"`: 二维数组
- + `"custom"`: 自定义维数组
+ + `"custom"`: 自定义行列数的二维数组
- {PlainObject} [setting]: 可选参数
+ {Number} [row]: `dimensional`为`custom`的时候设置,多维数组的行数
+ {Number} [column]: `dimensional`为`custom`的时候设置,多维数组的列数
@@ -661,10 +674,80 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- **说明**:
- 复制指定工作表指定单元格区域的数据,返回一维、二维或者自定义维数组格式的数据。
+ 复制指定工作表指定单元格区域的数据,返回一维、二维或者自定义行列数的二维数组的数据。
特别注意,只有在`dimensional`设置为`custom`的时候,才需要设置`setting`中的`row`和`column`
+- **示例**:
+
+ - 当前选区为"A1:B2",一维数组
+
+ `luckysheet.getRangeArray('oneDimensional')`
+
+ 则返回结果为:
+ ```json
+ ["value1","value3","value2","value4"]
+ ```
+
+ - 当前选区为"A1:B2",二维数组
+
+ `luckysheet.getRangeArray('twoDimensional')`
+
+ 则返回结果为:
+ ```json
+ [
+ [ "value1", "value3" ],
+ [ "value2", "value4" ]
+ ]
+ ```
+
+ - 当前选区为"A1:C5",由 'value1'到'value15'的值组成,得到3
+ 行2列的二维数组数据
+
+ `luckysheet.getRangeArray('custom', { row: 3, column: 2 })`
+
+ 则返回结果为:
+ ```json
+ [
+ [
+ {
+ "m": "value1",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value1"
+ },
+ {
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value6",
+ "m": "value6"
+ }
+ ],
+ [
+ {
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value11",
+ "m": "value11"
+ },
+ {
+ "m": "value2",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value2"
+ }
+ ],
+ [
+ {
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value7",
+ "m": "value7"
+ },
+ {
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value12",
+ "m": "value12"
+ }
+ ]
+ ]
+ ```
+
------------
### getRangeDiagonal(type [,setting])
@@ -676,6 +759,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
`type`可能的值有:
+ `"normal"`: 对角线
+ + `"anti"`: 反对角线
+ `"offset"`: 对角线偏移
- {PlainObject} [setting]: 可选参数
- {Number} [column]: `type`为`offset`的时候设置,对角偏移的列数
@@ -688,6 +772,61 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
特别注意,只有在`type`设置为`offset`的时候,才需要设置`setting`中的`column`。
+- **示例**:
+
+ - 当前选区为"A1:B2",对角线
+
+ `luckysheet.getRangeDiagonal('normal')`
+
+ 则返回结果为:
+ ```json
+ [
+ {
+ "m": "value1",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value1"
+ },
+ {
+ "m": "value4",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value4"
+ }
+ ]
+ ```
+
+ - 当前选区为"A1:B2",反对角线
+
+ `luckysheet.getRangeDiagonal('anti')`
+
+ 则返回结果为:
+ ```json
+ [
+ {
+ "m": "value3",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value3"
+ },
+ {
+ "m": "value2",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value2"
+ }
+ ]
+ ```
+ - 当前选区为"A1:B2",对角线偏移1列
+
+ `luckysheet.getRangeDiagonal('offset', { column: 1 })`
+
+ 则返回结果为:
+ ```json
+ [
+ {
+ "m": "value3",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value3"
+ }
+ ]
+ ```
------------
### getRangeBoolean([setting])
@@ -702,6 +841,20 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
复制指定工作表指定单元格区域的数据,返回布尔值的数据
+- **示例**:
+
+ - 当前选区为"A1:B2"
+
+ `luckysheet.getRangeBoolean()`
+
+ 则返回结果为:
+ ```json
+ [
+ [ false, false ],
+ [ false, false ]
+ ]
+ ```
+
------------
### setRangeShow(range [,setting])
@@ -757,6 +910,52 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
将一个单元格数组数据赋值到指定的区域,数据格式同`getRangeValue`方法取到的数据。
+- **示例**:
+
+ + 赋值到当前选区
+
+ ```js
+ const data = [
+ [
+ {
+ "m": "value1",
+ "ct": {
+ "fa": "General",
+ "t": "g"
+ },
+ "v": "value1"
+ },
+ {
+ "m": "value3",
+ "ct": {
+ "fa": "General",
+ "t": "g"
+ },
+ "v": "value3"
+ }
+ ],
+ [
+ {
+ "m": "value2",
+ "ct": {
+ "fa": "General",
+ "t": "g"
+ },
+ "v": "value2"
+ },
+ {
+ "m": "value4",
+ "ct": {
+ "fa": "General",
+ "t": "g"
+ },
+ "v": "value4"
+ }
+ ]
+ ]
+ luckysheet.setRangeValue(data)
+ ```
+
------------
### setRangeFormat(attr, value [,setting])
@@ -791,9 +990,11 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- **示例**:
- 设置当前工作表`"A1:B2"`范围的单元格文本加粗
- `luckysheet.setRangeFormat("bl", 1, {range:"A1:B2"})`
+
+ `luckysheet.setRangeFormat("bl", 1, {range:"A1:B2"})`
- 设置第二个工作表的`"B2"`和`"C4:D5"`范围的单元格背景为红色
- `luckysheet.setRangeFormat("bg", "#ff0000", {range:["B2","C4:D5"], order:1})`
+
+ `luckysheet.setRangeFormat("bg", "#ff0000", {range:["B2","C4:D5"], order:1})`
------------
@@ -825,6 +1026,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
### setRangeMerge(type [,setting])
- **参数**:
+
- {String} [type]: 合并单元格类型
`type`可能的值有:
@@ -832,6 +1034,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ `"all"`: 全部合并,区域内所有单元格合并成一个大的单元格
+ `"horizontal"`: 水平合并,区域内在同一行的单元格合并成一个单元格
+ `"vertical"`: 垂直合并,区域内在同一列的单元格合并成一个单元格
+
- {PlainObject} [setting]: 可选参数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
@@ -841,6 +1044,36 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
为指定索引的工作表,选定的范围设定合并单元格
+- **示例**:
+
+ - 当前选区 'A1:B2' 设置为合并单元格,类型为全部合并
+
+ `luckysheet.setRangeMerge("all")`
+ 得到 'A1:B1' 的数据为:
+ ```json
+ [
+ [
+ {
+ "m": "value1",
+ "ct": { "fa": "General", "t": "g" },
+ "v": "value1",
+ "mc": { "r": 0, "c": 0, "rs": 2, "cs": 2 }
+ },
+ {
+ "mc": { "r": 0, "c": 0 }
+ }
+ ],
+ [
+ {
+ "mc": { "r": 0, "c": 0 }
+ },
+ {
+ "mc": { "r": 0, "c": 0 }
+ }
+ ]
+ ]
+ ```
+
------------
### cancelRangeMerge( [setting])
@@ -856,6 +1089,12 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
为指定索引的工作表,选定的范围取消合并单元格
+- **示例**:
+
+ - 当前选区 'A1:B2' 已为合并单元格,现在要取消合并
+
+ `luckysheet.cancelRangeMerge()`
+
------------
### setRangeSort(type [,setting])
@@ -1004,10 +1243,10 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
`luckysheet.setRangeConditionalFormatDefault("lastPercent",{ type: 'value', content: [15] })`
- 突出显示高于平均值的单元格
- luckysheet.setRangeConditionalFormatDefault("AboveAverage",{ type: 'value', content: ['AboveAverage'] })`
+ `luckysheet.setRangeConditionalFormatDefault("AboveAverage",{ type: 'value', content: ['AboveAverage'] })`
- 突出显示低于平均值的单元格
- luckysheet.setRangeConditionalFormatDefault("SubAverage",{ type: 'value', content: ['SubAverage'] })`
+ `luckysheet.setRangeConditionalFormatDefault("SubAverage",{ type: 'value', content: ['SubAverage'] })`
------------
@@ -1122,6 +1361,11 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
为指定索引的工作表,选定的范围开启条件格式,返回开启条件格式后的数据。
+- **示例**:
+
+ - 当前选区范围开启条件格式,显示渐变色
+ `luckysheet.setRangeConditionalFormat("dataBar", { format: ["#63c384", "#ffffff"] })`
+
------------
### deleteRangeConditionalFormat(itemIndex [,setting])
@@ -1142,7 +1386,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- **示例**:
- 删除第三个条件格式规则
- `luckysheet.editRangeConditionalFormat(2)`
+ `luckysheet.deleteRangeConditionalFormat(2)`
------------
@@ -1159,6 +1403,11 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
清除指定工作表指定单元格区域的内容,返回清除掉的数据,不同于删除选区的功能,不需要设定单元格移动情况
+- **示例**:
+
+ - 清空当前选区内容
+ `luckysheet.clearRange()`
+
------------
### deleteRange(move [,setting])
@@ -1180,6 +1429,11 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
删除指定工作表指定单元格区域,返回删除掉的数据,同时,指定是右侧单元格左移还是下方单元格上移
+- **示例**:
+
+ - 删除当前选区并且在删除后,右侧单元格左移
+ `luckysheet.deleteRange('left')`
+
------------
### insertRange(move [,setting])
@@ -1208,6 +1462,11 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
在指定工作表指定单元格区域,赋值单元格数据,或者新建一块空白区域,返回data数据,同时,指定活动单元格右移或者下移
+- **示例**:
+
+ - 当前选区位置插入空白单元格,并且插入后当前选区单元格右移
+ `luckysheet.insertRange('right')`
+
------------
### matrixOperation(type [,setting])
@@ -1237,6 +1496,20 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
指定工作表指定单元格区域的数据进行矩阵操作,返回操作成功后的结果数据
+- **示例**:
+
+ - 当前选区上下翻转
+
+ `luckysheet.matrixOperation('flipUpDown')`
+
+ 原来的选区复制为二维数组:
+
+ `[["value1","value3"],["value2","value4"]]`
+
+ 上下翻转后选区复制为二维数组:
+
+ `[["value2","value4"],["value1","value3"]]`
+
------------
### matrixCalculation(type, number [,setting])
@@ -1253,9 +1526,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ `"power"`: 次方
+ `"root"`: 次方根
+ `"log"`: log
- + `"removeDuplicateByRow"`: 按行删除重复值
- + `"removeDuplicateByColumn"`: 按列删除重复值
- + `"newMatrix"`: 生产新矩阵
- {Number} [number]: 计算数值,如: 2
- {PlainObject} [setting]: 可选参数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
@@ -1266,6 +1536,20 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
指定工作表指定单元格区域的数据进行矩阵计算,返回计算成功后的结果数据
+- **示例**:
+
+ - 当前选区所有单元格值加2
+
+ `luckysheet.matrixCalculation('plus', 2)`
+
+ 原来的选区复制为二维数组:
+
+ `[[1,2],[3,4]]`
+
+ 加2后选区复制为二维数组:
+
+ `[[3,4],[5,6]]`
+
------------
## 工作表操作
@@ -1303,12 +1587,44 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-### getSheetData()
+### getSheetData([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
- **说明**:
- 快捷获取当前表格的数据,同 `luckysheetfile[i].data`
+ 快捷返回指定工作表的数据,同 `luckysheetfile[i].data`
+
+------------
+
+### getConfig([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+
+- **说明**:
+
+ 快捷返回指定工作表的config配置,同 `luckysheetfile[i].config`
+
+------------
+
+### setConfig([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+- **说明**:
+
+ 快捷设置当前表格config配置
+
------------
### setSheetAdd([setting])
@@ -1509,7 +1825,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- **说明**:
- 初始化一个luckysheet,可包含多个工作表,参考 [配置列表](/zh/guide/config.html)
+ 初始化一个Luckysheet,可包含多个工作表,参考 [配置列表](/zh/guide/config.html)
------------
@@ -1526,6 +1842,19 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
+### destroy([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 表格释放成功后的回调函数
+
+- **说明**:
+
+ 删除并释放表格
+
+------------
+
### getScreenshot([setting])
- **参数**:
@@ -1651,10 +1980,8 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
## 公共方法
-
### transToCellData(data [,setting])
-
- **参数**:
- {Array} [data]: data数据
@@ -1682,19 +2009,58 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
celldata => data ,celldata一维数组数据转化成表格所需二维数组
------------
+
## 旧版API
::: warning
为保持兼容性,仍然支持旧版API,但是已不推荐使用。
:::
+### getcellvalue([r] [,c] [,data] [,type])
+
+- **参数**:
+ - {Number} [r]:单元格所在行数;可选值;从0开始的整数,0表示第一行
+ - {Number} [c]:单元格所在列数;可选值;从0开始的整数,0表示第一列
+ - {Array} [data]:表数据,二维数组;可选值;默认值为当前表格数据
+ - {String} [type]:单元格属性值;可选值;默认值为'v',表示获取单元格的实际值
+- **说明**:
+
+ 此方法为获取单元格的值。
+
+ - luckysheet.getcellvalue():返回当前工作表的所有数据;
+ - luckysheet.getcellvalue(0):返回当前工作表第1行数据;
+ - luckysheet.getcellvalue(null,0):返回当前工作表第1列数据;
+ - luckysheet.getcellvalue(0,0):返回当前工作表第1行第1列单元格的数据的v值;
+ - luckysheet.getcellvalue(1,1,null,'m'): 返回指定data数据的第2行第2列单元格的原始值。
+
+ 特殊情况:单元格格式为yyyy-MM-dd,type为'v'时会强制取'm'显示值
+
+ > 推荐使用新API: getCellValue
+
+------------
+
+### getluckysheetfile()
+
+- **说明**:
+
+ 返回所有表格数据结构的一维数组`luckysheetfile`
+
+ > 推荐使用新API: [getLuckysheetfile](#getLuckysheetfile())
+
+------------
+
### getconfig()
+
- **说明**:
快捷返回当前表格config配置,每个工作表的config信息仍然包含在luckysheetfile。
+
+ > 推荐使用新API: [getConfig](#getConfig([setting]))
------------
-## getluckysheet_select_save()
+
+### getluckysheet_select_save()
+
- **说明**:
返回当前选区对象的数组,可能存在多个选区。
@@ -1703,7 +2069,8 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-## getdatabyselection([range] [,sheetOrder])
+### getdatabyselection([range] [,sheetOrder])
+
- **参数**:
- {Object} [range]:选区对象,`object: { row: [r1, r2], column: [c1, c2] }`;默认为当前第一个选区。
- {Number} [sheetOrder]:表格下标,从0开始的整数,0表示第一个表格;默认为当前表格下标。
@@ -1717,7 +2084,8 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-## luckysheetrefreshgrid(scrollWidth, scrollHeight)
+### luckysheetrefreshgrid(scrollWidth, scrollHeight)
+
- **参数**:
- {Number} [scrollWidth]:横向滚动值。默认为当前横向滚动位置。
- {Number} [scrollHeight]:纵向滚动值。默认为当前纵向滚动位置。
@@ -1727,17 +2095,36 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-## jfrefreshgrid()
+### setcellvalue(r, c, d, v)
+
+- **参数**:
+ - {Number} [r]:单元格所在行数;从0开始的整数,0表示第一行。
+ - {Number} [c]:单元格所在列数;从0开始的整数,0表示第一列。
+ - {Array} [d]:表数据;可选值;二维数组。
+ - {Object | String | Number} [v]:要设置的值;可为对象,对象是是要符合单元格对象格式。
+- **说明**:
+
+ 设置某个单元格的值。可配合`luckysheet.jfrefreshgrid()`刷新查看单元格值改变。
+
+ ```js
+ luckysheet.setcellvalue(0, 0, luckysheet.flowdata(), 'abc');
+ luckysheet.jfrefreshgrid();
+ ```
+
+------------
+
+### jfrefreshgrid()
+
- **说明**:
刷新canvas
> 推荐使用新API: [refresh](#refresh([setting]))
-
------------
-## setluckysheet_select_save(v)
+### setluckysheet_select_save(v)
+
- **参数**:
- {Array} [v]:要设置的选区值(数组)。符合选区格式规则,如`[{ row: [r1, r2], column: [c1, c2] }]`。
- **说明**:
@@ -1752,7 +2139,8 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-## selectHightlightShow()
+### selectHightlightShow()
+
- **说明**:
高亮当前选区
@@ -1761,7 +2149,8 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-## flowdata()
+### flowdata()
+
- **说明**:
快捷获取当前表格的数据
@@ -1770,7 +2159,8 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
-## buildGridData(file)
+### buildGridData(file)
+
- **参数**:
- {Object} [file]:[luckysheetfile](/zh/guide/sheet.html)
- **说明**:
@@ -1780,17 +2170,13 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
> 推荐使用新API:transToData
------------
-## getGridData(data)
+
+### getGridData(data)
+
- **参数**:
- {Array} [data]:工作表的二维数组数据
- **说明**:
二维数组数据转化成 `{r, c, v}` 格式 一维数组
- > 推荐使用新API:transToCellData
-
-------------
-## destroy()
-- **说明**:
-
- 删除并释放表格
\ No newline at end of file
+ > 推荐使用新API:transToCellData
\ No newline at end of file
diff --git a/docs/zh/guide/operate.md b/docs/zh/guide/operate.md
index 8489500..4a82ad4 100644
--- a/docs/zh/guide/operate.md
+++ b/docs/zh/guide/operate.md
@@ -8,30 +8,6 @@
以下为所有的支持传输到后台的操作类型,并且以MongoDB做存储示例,讲解如何做前后端交互。
-## 格式
-- **配置**:
-
- 配置 `updateUrl` 的地址,发送到后台的参数为json的字符串。
-
-- **格式**:
-
- ```json
- {
- compress: false,
- gridKey:10004,
- data: [更新json数据]
- }
- ```
-
-- **说明**:
-
- | 参数 | 说明 | 举例 |
- | ------------ | ------------ | ------------ |
- | compress | Luckysheet采用客户端pako进行zlib参数压缩,如果浏览器支持压缩则为true,否则为false。后台可以根据此参数决定是否解压data中的内容 | 服务端获取参数过程:1. 序列化json字符串 2. 判断compress字段如果为TRUE则解压data字段 3. 解码data字符串URLDecoder.decode(utf-8) |
- | gridKey | Luckysheet文件的标识符 | 无 |
- | data | 一个包含更新数据的数组,数组中的参数格式请看下面的介绍。实例中:`t`表示更新类型、`i`为sheet的索引、`c`为列号、`r`为行号,`v`为值 | `data: [{ t : 'v', i:0, c : 0, r : 0 , v: 2 }]` |
-
-
## 单元格刷新
- **格式**:
@@ -39,10 +15,14 @@
```json
{
"t": "v",
- "i": 3,
- "v": "good",
- "r": 5,
- "c": 7
+ "i": "Sheet_0554kKiKl4M7_1597974810804",
+ "v": {
+ "v": 233,
+ "ct": { "fa": "General", "t": "n" },
+ "m": "233"
+ },
+ "r": 0,
+ "c": 1
}
```
@@ -52,13 +32,13 @@
| ------------ | ------------ |
|t|操作类型表示符号|
|i|当前sheet的索引值|
- |v|单元格的值,参考 [单元格属性表](/zh/guide/cell.html#基本单元格)|
+ |v|单元格的值,数字、字符串或着对象格式,对象参考 [单元格属性表](/zh/guide/cell.html#基本单元格)|
|r|单元格的行号|
|c|单元格的列号|
- **后台更新**:
- 前端维护luckysheetfile[i].data,而单元格更新到后台,继续维护`luckysheetfile[i].celldata` 参数,该参数是一个一维数组:
+ 前端维护luckysheetfile[i].data,而单元格更新到后台,继续维护`luckysheetfile[i].celldata` 参数,celldata是一个一维数组:
```json
[
{r:0, c:1, v: "值1"},
@@ -66,25 +46,25 @@
{r:10, c:11, v:{f:"=sum", v:"100"}}
]
```
- 后台在保存前台推送的数据时,首先需要把参数转换为 `{r:0, c:1:v:100}` 的格式,然后更新 `luckysheetfile[i].celldata` 字段,如果存在该单元格则更新,如果没有则添加,如果存在该单元格但是`v`为null则删除该单元格。
-
-- **前台查看**:
-
- 可以修改任意单元格的数值,然后到chrome控制台中查看`"t"=="v"`的操作。
+ 后台在保存前台推送的数据时,会更新 `luckysheetfile[i].celldata` 字段,如果存在该单元格则更新,如果没有则添加,如果存在该单元格但是`v`为null则删除该单元格。
## config操作
- **格式**:
```json
- {
- "t": "cg",
- "i": 3,
- "v": {
- "7": 192
- },
- "k": "rowlen"
- }
+ {
+ "t": "cg",
+ "i": "Sheet_0554kKiKl4M7_1597974810804",
+ "v": [ {
+ "rangeType": "range",
+ "borderType": "border-all",
+ "color": "#000",
+ "style": "1",
+ "range": [ {"row": [ 0, 1 ], "column": [ 1, 1 ] } ]
+ } ],
+ "k": "borderInfo"
+ }
```
- **说明**:
@@ -93,40 +73,68 @@
| ------------ | ------------ |
|t|操作类型表示符号|
|i|当前sheet的index值|
- |v|需要更新的内部key-value|
- |k|操作的key名称|
+ |v|需要更新value值|
+ |k|操作的key值,可选 边框:`'borderInfo'` / :行隐藏:`'rowhidden'` / 列隐藏:`'columnhidden'` / 行高:`'rowlen'` / 列宽:`'columnlen'` |
- **后台更新**:
- 更新 `luckysheetfile[i].config.[k][v.key] = v.value` ,如果`config`中不存在`k`,则新建一个`k`属性并设置为空,如果`k`中不存在`v.key`,则新建一个`v.key`再更新`v.value`。
+ 更新 `luckysheetfile[i].config.[k] = v` ,如果`config`中不存在`k`,则新建一个`k`属性并设置为空。
- 1. 修改行高度举例:
- - 输入:`{"t":"cg","i":3,"v":{"3":10, "5":70, "10":100},"k":" rowlen"}`
- - 更新:`luckysheetfile[3].config.["rowlen"]["3"] = 10`
+ 注意一点,修改config中的某个配置时,会把这个配置全部传输到后台,比如修改borderInfo,本来已经有一个含边框的单元格了,再新设置一个单元格边框,这时候会把这两个单元格边框信息都传输到后台,而不做更细颗粒的操作。
- 2. 修改列宽度举例:
- - 输入:`{"t":"cg","i":1,"v":{"20":74, "15":170, "6":40},"k":" columnlen"}`
- - 更新:`luckysheetfile[1].config.["columnlen"]["20"] = 74`
-
- 3. 合并单元格举例:
- - 输入:`{"t":"cg","i":1,"v":{"5_10":{row:[1,3], column:[3,5]},"k":" merge "}`
- - 更新:`luckysheetfile[1].config.["merge"]["5_10"] = {row:[1,3], column:[3,5]}`
+ 1. 行隐藏:
+ - 发送到后台:
+ ```json
+ {
+ "t": "cg",
+ "i": "Sheet_0554kKiKl4M7_1597974810804",
+ "v": { "5": 0, "6": 0, "13": 0, "14": 0 }, // 包含所有隐藏行信息
+ "k": "rowhidden"
+ }
+ ```
+ - 后台更新:`luckysheetfile["Sheet_0554kKiKl4M7_1597974810804"].config.["rowhidden"] = { "5": 0, "6": 0, "13": 0, "14": 0 }`
+
+ 2. 修改行高:
+ - 发送到后台:
+ ```json
+ {
+ "t": "cg",
+ "i": "Sheet_0554kKiKl4M7_1597974810804",
+ "v": { "9": 20, "11": 71, "15": 58 }, // 包含所有修改过高度的单元格信息
+ "k": "rowlen"
+ }
+ ```
+ - 后台更新:`luckysheetfile["Sheet_0554kKiKl4M7_1597974810804"].config.["rowlen"] = { "9": 20, "11": 71, "15": 58 }`
+
+ 3. 修改列宽:
+ - 发送到后台:
+ ```json
+ {
+ "t": "cg",
+ "i": "Sheet_0554kKiKl4M7_1597974810804",
+ "v": { "2": 135 },
+ "k": "columnlen"
+ }
+ ```
+ - 后台更新:`luckysheetfile["Sheet_0554kKiKl4M7_1597974810804"].config.["columnlen"] = { "2": 135 }`
## 通用保存
- **格式**:
```json
- {
- "t": "all",
- "i": 3,
- "v": {
- "v": 1,
- "m":1,
- },
- "k": "freezen",
- "s": false
- }
+ {
+ "t": "all",
+ "i": 0,
+ "v": {
+ "type": "rangeRow",
+ "range": {
+ "row_focus": 1,
+ "column_focus": 1
+ }
+ },
+ "k": "frozen"
+ }
```
- **说明**:
@@ -135,9 +143,8 @@
| ------------ | ------------ |
|t|操作类型表示符号|
|i|当前sheet的index值|
- |v|需要更新的内部key-value|
- |k|需要保存的key-value中的`value`|
- |s|如果是`true`则`v`保存为字符串,否则按照对象进行保存|
+ |v|需要更新value值|
+ |k|操作的key值|
- **后台更新**:
diff --git a/docs/zh/guide/sheet.md b/docs/zh/guide/sheet.md
index 7a4f3f3..d83821b 100644
--- a/docs/zh/guide/sheet.md
+++ b/docs/zh/guide/sheet.md
@@ -37,7 +37,7 @@ options.data示例如下:
"luckysheet_alternateformat_save": [], //交替颜色
"luckysheet_alternateformat_save_modelCustom": [], //自定义交替颜色
"luckysheet_conditionformat_save": {},//条件格式
- "freezen": {}, //冻结行列
+ "frozen": {}, //冻结行列
"chart": [], //图表配置
},
{
@@ -711,7 +711,7 @@ type: "default": 突出显示单元格规则和项目选区规则,
```
------------
-### frozen(TODO)
+### frozen
- 类型:Array
- 默认值:[]
- 作用: 冻结行列设置,分为6种类型
@@ -721,7 +721,14 @@ type: "default": 突出显示单元格规则和项目选区规则,
4. "rangeRow": 冻结行到选区
5. "rangeColumn": 冻结列到选区
6. "rangeBoth": 冻结行列到选区
- 当设置冻结到选区的时候,需要设置选区范围`range`,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;如果已经设置了`luckysheet_select_save`,则直接取当前第一个选区,不用再设置选区。
+ 7. "cancel": 取消冻结
+
+ 当设置冻结到选区的时候,需要设置开启冻结的单元格位置,格式为`{ row_focus:0, column_focus:0 }`,意为当前激活的单元格的行数和列数。
+
+ sheet新的配置属性,存储更语义化的配置,用于初始化和传给后端。
+
+ 注意一点,luckysheetfile中还有一个配置freezen,其中的freezenhorizontaldata仍然用作本地数据,但是不发给后台存储,只做本地调试。
+
- 示例:
- 冻结首行
```json
@@ -729,18 +736,18 @@ type: "default": 突出显示单元格规则和项目选区规则,
type: 'row'
}
```
- - 冻结行到`'B2'`选区
+ - 冻结行到`'A1'`选区
```json
{
type: 'rangeRow',
- range: {row:[1,1],column:[1,1]}
+ range: {row_focus: 0, column_focus: 0}
}
```
- - 冻结行列到`'B3:D4'`选区
+ - 冻结行列到`'B2'`选区
```json
{
type: 'rangeBoth',
- range: "B3:D4"
+ range: {row_focus: 1, column_focus: 1}
}
```
@@ -756,7 +763,7 @@ type: "default": 突出显示单元格规则和项目选区规则,
初始化所需要的参数,会从简洁的角度出发来考虑设计,但是本地存储的参数则不同。
-Luckysheet在初始化完成之后进行的一系列操作,会将更多本地参数存储在luckysheetfile中,作为本地使用的参数,实现一些类似Store数据中心的作用。
+Luckysheet在初始化完成之后进行的一系列操作,会将更多本地参数存储在luckysheetfile中,作为本地使用的参数,实现一些类似Store数据中心的作用。比如,freezen的参数格式也会变化。
此时的luckysheetfile包含很多非初始化使用的本地参数,可用于调试代码、本地状态分析。如下展示了更丰富luckysheetfile信息,可通过方法 `luckysheet.getluckysheetfile()`获得:
diff --git a/src/controllers/controlHistory.js b/src/controllers/controlHistory.js
index 198d259..adaebd7 100644
--- a/src/controllers/controlHistory.js
+++ b/src/controllers/controlHistory.js
@@ -3,6 +3,7 @@ import server from './server';
import pivotTable from './pivotTable';
import conditionformat from './conditionformat';
import luckysheetPostil from './postil';
+import {zoomRefreshView,zoomNumberDomBind} from './zoom';
import { createFilter, createFilterOptions, labelFilterOptionState } from './filter';
import formula from '../global/formula';
import json from '../global/json';
@@ -326,6 +327,12 @@ const controlHistory = {
}
}
}
+ else if (ctr.type=="zoomChange"){
+ Store.zoomRatio = ctr.zoomRatio;
+ server.saveParam("all", ctr.currentSheetIndex, ctr.zoomRatio, { "k": "zoomRatio" });
+ zoomNumberDomBind();
+ zoomRefreshView();
+ }
cleargridelement(e);
Store.clearjfundo = true;
@@ -549,6 +556,12 @@ const controlHistory = {
}
}
}
+ else if (ctr.type=="zoomChange"){
+ Store.zoomRatio = ctr.curZoomRatio;
+ server.saveParam("all", ctr.currentSheetIndex, ctr.curZoomRatio, { "k": "zoomRatio" });
+ zoomNumberDomBind();
+ zoomRefreshView();
+ }
Store.clearjfundo = true;
}
diff --git a/src/controllers/freezen.js b/src/controllers/freezen.js
index ab71c89..1ec7a7d 100644
--- a/src/controllers/freezen.js
+++ b/src/controllers/freezen.js
@@ -58,8 +58,8 @@ const luckysheetFreezen = {
currentSheet.freezen.vertical = null;
}
- if(currentSheet.freezen != null && isvertical){
- server.saveParam("all", sheetIndex, currentSheet.freezen, { "k": "freezen" });
+ if(currentSheet.frozen != null && isvertical){
+ server.saveParam("all", sheetIndex, currentSheet.frozen, { "k": "frozen" });
}
},
createFreezenVertical: function (freezenverticaldata, left) {
@@ -149,13 +149,21 @@ const luckysheetFreezen = {
currentSheet.freezen.vertical.left = left;
}
- if(currentSheet.freezen != null){
- server.saveParam("all", Store.currentSheetIndex, currentSheet.freezen, { "k": "freezen" });
+ // if(currentSheet.freezen != null){
+ // server.saveParam("all", Store.currentSheetIndex, currentSheet.freezen, { "k": "freezen" });
+ // }
+
+ // use new property frozen
+ if(currentSheet.frozen != null){
+ server.saveParam("all", Store.currentSheetIndex, currentSheet.frozen, { "k": "frozen" });
}
},
initialFreezen: function (sheetIndex) {
let _this = this;
+ // when init ,we get frozen, but here, we need freezen,so tranform it
+ _this.frozenTofreezen();
+
let currentSheet = Store.luckysheetfile[getSheetIndex(sheetIndex)];
if (currentSheet.freezen != null && currentSheet.freezen.horizontal != null && currentSheet.freezen.horizontal.freezenhorizontaldata != null) {
_this.createFreezenHorizontal(currentSheet.freezen.horizontal.freezenhorizontaldata, currentSheet.freezen.horizontal.top);
@@ -284,8 +292,8 @@ const luckysheetFreezen = {
currentSheet.freezen.horizontal = null;
}
- if(currentSheet.freezen != null && ishorizontal){
- server.saveParam("all", sheetIndex, currentSheet.freezen, { "k": "freezen" });
+ if(currentSheet.frozen != null && ishorizontal){
+ server.saveParam("all", sheetIndex, currentSheet.frozen, { "k": "frozen" });
}
},
createFreezenHorizontal: function (freezenhorizontaldata, top) {
@@ -1500,6 +1508,236 @@ const luckysheetFreezen = {
$("#luckysheet-filter-options-sheet"+ Store.currentSheetIndex).empty();
createFilterOptions(Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)].filter_select);
}
+ },
+ /**
+ *
+ * @param {string} operate "freezenRow"/ "freezenColumn"......
+ */
+ saveFrozen: function(operate) {
+
+ // New configuration attribute of sheet: frozen, which stores more semantic configuration for initialization and transmission to the backend. freezenhorizontaldata is still used as local data
+
+ const select_save = Store.luckysheet_select_save[Store.luckysheet_select_save.length - 1];
+
+ const row_focus = select_save["row_focus"] == null ? select_save["row"][0] : select_save["row_focus"];
+ const column_focus = select_save["column_focus"] == null ? select_save["column"][0] : select_save["column_focus"];
+
+ const range = {
+ row_focus: row_focus,
+ column_focus: column_focus
+ }
+
+ const frozen = {
+ "freezenRow": {
+ type: 'row'
+ },
+ "freezenColumn": {
+ type: 'column'
+ },
+ "freezenRC": {
+ type: 'both'
+ },
+ "freezenRowRange": {
+ type: 'rangeRow',
+ range: range
+ },
+ "freezenColumnRange": {
+ type: 'rangeColumn',
+ range: range
+ },
+ "freezenRCRange": {
+ type: 'rangeBoth',
+ range: range
+ },
+ "freezenCancel": {
+ type: 'cancel'
+ }
+ }
+
+ // store frozen
+ Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)]["frozen"] = frozen[operate];
+ },
+ frozenTofreezen: function() {
+
+ // get frozen type
+ const frozen = Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)]["frozen"];
+
+ if(frozen == null){
+ return;
+ }
+
+ let freezen = null;
+
+ // transform to freezen
+ if(frozen.type === 'row'){
+ let scrollTop = $("#luckysheet-cell-main").scrollTop();
+ let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
+ if(row_st == -1){
+ row_st = 0;
+ }
+ let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columeHeaderHeight;
+ let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top];
+
+ freezen = {
+ horizontal:{
+ freezenhorizontaldata: freezenhorizontaldata,
+ top: top
+ }
+ }
+
+ }
+ else if(frozen.type === 'column'){
+ let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
+ let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
+ if(col_st == -1){
+ col_st = 0;
+ }
+ let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
+ let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left];
+
+ freezen = {
+ vertical:{
+ freezenverticaldata: freezenverticaldata,
+ left: left
+ }
+ }
+ }
+ else if(frozen.type === 'both'){
+ let scrollTop = $("#luckysheet-cell-main").scrollTop();
+ let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
+ if(row_st == -1){
+ row_st = 0;
+ }
+ let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columeHeaderHeight;
+ let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top];
+
+ freezen = {
+
+ }
+
+ let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
+ let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
+ if(col_st == -1){
+ col_st = 0;
+ }
+ let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
+ let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left];
+
+ freezen = {
+ horizontal:{
+ freezenhorizontaldata: freezenhorizontaldata,
+ top: top
+ },
+ vertical:{
+ freezenverticaldata: freezenverticaldata,
+ left: left
+ }
+ }
+
+ }
+ else if(frozen.type === 'rangeRow'){
+ let scrollTop = $("#luckysheet-cell-main").scrollTop();
+ let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
+
+ let row_focus = frozen.range["row_focus"];
+
+ if(row_focus > row_st){
+ row_st = row_focus;
+ }
+
+ if(row_st == -1){
+ row_st = 0;
+ }
+
+ let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columeHeaderHeight;
+ let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top];
+
+ freezen = {
+ horizontal:{
+ freezenhorizontaldata: freezenhorizontaldata,
+ top: top
+ }
+ }
+
+ }
+ else if(frozen.type === 'rangeColumn'){
+ let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
+ let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
+
+ let column_focus = frozen.range["column_focus"];
+
+ if(column_focus > col_st){
+ col_st = column_focus;
+ }
+
+ if(col_st == -1){
+ col_st = 0;
+ }
+
+ let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
+ let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left];
+
+ freezen = {
+ vertical:{
+ freezenverticaldata: freezenverticaldata,
+ left: left
+ }
+ }
+
+ }
+ else if(frozen.type === 'rangeBoth'){
+ let scrollTop = $("#luckysheet-cell-main").scrollTop();
+ let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
+
+ let row_focus = frozen.range["row_focus"];
+
+ if(row_focus > row_st){
+ row_st = row_focus;
+ }
+
+ if(row_st == -1){
+ row_st = 0;
+ }
+
+ let top = Store.visibledatarow[row_st] - 2 - scrollTop + Store.columeHeaderHeight;
+ let freezenhorizontaldata = [Store.visibledatarow[row_st], row_st + 1, scrollTop, luckysheetFreezen.cutVolumn(Store.visibledatarow, row_st + 1), top];
+
+ let scrollLeft = $("#luckysheet-cell-main").scrollLeft();
+ let col_st = luckysheet_searcharray(Store.visibledatacolumn, scrollLeft);
+
+ let column_focus = frozen.range["column_focus"];
+
+ if(column_focus > col_st){
+ col_st = column_focus;
+ }
+
+ if(col_st == -1){
+ col_st = 0;
+ }
+
+ let left = Store.visibledatacolumn[col_st] - 2 - scrollLeft + Store.rowHeaderWidth;
+ let freezenverticaldata = [Store.visibledatacolumn[col_st], col_st + 1, scrollLeft, luckysheetFreezen.cutVolumn(Store.visibledatacolumn, col_st + 1), left];
+
+ freezen = {
+ horizontal:{
+ freezenhorizontaldata: freezenhorizontaldata,
+ top: top
+ },
+ vertical:{
+ freezenverticaldata: freezenverticaldata,
+ left: left
+ }
+ }
+ }
+ else if(frozen.type === 'cancel'){
+ freezen = {
+ horizontal: null,
+ vertical: null
+ }
+ }
+
+ Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)]["freezen"] = freezen;
+
}
}
diff --git a/src/controllers/handler.js b/src/controllers/handler.js
index b759ade..f3182ed 100644
--- a/src/controllers/handler.js
+++ b/src/controllers/handler.js
@@ -3417,6 +3417,9 @@ export default function luckysheetHandler() {
//冻结行列
$("#luckysheet-freezen-btn-horizontal").click(function () {
if ($.trim($(this).text()) == locale().freezen.freezenCancel) {
+
+ luckysheetFreezen.saveFrozen("freezenCancel");
+
if (luckysheetFreezen.freezenverticaldata != null) {
luckysheetFreezen.cancelFreezenVertical();
luckysheetFreezen.createAssistCanvas();
@@ -3432,6 +3435,9 @@ export default function luckysheetHandler() {
luckysheetFreezen.scrollAdapt();
}
else {
+
+ luckysheetFreezen.saveFrozen("freezenRow");
+
if (luckysheetFreezen.freezenverticaldata != null) {
luckysheetFreezen.cancelFreezenVertical();
luckysheetFreezen.createAssistCanvas();
@@ -3447,10 +3453,16 @@ export default function luckysheetHandler() {
$("#luckysheet-freezen-btn-vertical").click(function () {
if (luckysheetFreezen.freezenverticaldata != null) {
+
+ luckysheetFreezen.saveFrozen("freezenCancel");
+
luckysheetFreezen.cancelFreezenVertical();
luckysheetrefreshgrid();
}
else {
+
+ luckysheetFreezen.saveFrozen("freezenColumn");
+
luckysheetFreezen.createFreezenVertical();
}
luckysheetFreezen.createAssistCanvas();
diff --git a/src/controllers/menuButton.js b/src/controllers/menuButton.js
index 019ab28..e742420 100644
--- a/src/controllers/menuButton.js
+++ b/src/controllers/menuButton.js
@@ -1520,6 +1520,9 @@ const menuButton = {
let $t = $(this), itemvalue = $t.attr("itemvalue");
_this.focus($menuButton, itemvalue);
+ // store frozen
+ luckysheetFreezen.saveFrozen(itemvalue);
+
if(itemvalue == "freezenRow"){ //首行冻结
let scrollTop = $("#luckysheet-cell-main").scrollTop();
let row_st = luckysheet_searcharray(Store.visibledatarow, scrollTop);
diff --git a/src/controllers/server.js b/src/controllers/server.js
index 8833b6d..6ef4891 100644
--- a/src/controllers/server.js
+++ b/src/controllers/server.js
@@ -326,7 +326,11 @@ const server = {
else if(k == "pivotTable"){ //PivotTable
// luckysheet.pivotTable.changePivotTable(index);
}
- else if(k == "freezen"){ //freezen row and column
+ else if(k == "frozen"){ //freezen row and column
+
+ // tranform frozen
+ luckysheetFreezen.frozenTofreezen();
+
if(index == Store.currentSheetIndex){
const _locale = locale();
const locale_freezen = _locale.freezen;
diff --git a/src/controllers/sheetmanage.js b/src/controllers/sheetmanage.js
index da760a5..1afc7d2 100644
--- a/src/controllers/sheetmanage.js
+++ b/src/controllers/sheetmanage.js
@@ -151,6 +151,22 @@ const sheetmanage = {
return Store.luckysheetfile[i];
},
+ getSheetByName: function(name) {
+ let _this = this;
+
+ if(name == null){
+ return null;
+ }
+
+ for(let i=0;i0 && loadSheetUrl == ""){
+ for(let i = 0;i{
+ if(str.indexOf("!")>-1){
+ let name = str.substr(0, str.indexOf('!'));
+ dataNameList[name] = true;
+ }
+ });
if(dataindex == null){
continue;
}
-
+
if(cache[dataindex.toString()] == null){
ret.push(dataindex);
cache[dataindex.toString()] = 1;
}
- }
+ }
+
+ for(let n in dataNameList){
+ let sheet = this.getSheetByName(n);
+ if(sheet==null){
+ continue;
+ }
+
+ let dataindex = sheet.index;
+
+ if(cache[dataindex.toString()] == null){
+ ret.push(dataindex);
+ cache[dataindex.toString()] = 1;
+ }
+ }
}
if(chart != null){
diff --git a/src/controllers/zoom.js b/src/controllers/zoom.js
index d039f85..6e38d0c 100644
--- a/src/controllers/zoom.js
+++ b/src/controllers/zoom.js
@@ -3,6 +3,7 @@ import locale from '../locale/locale';
import { replaceHtml } from '../utils/util';
import {changeSheetContainerSize} from './resize';
import { jfrefreshgrid_rhcw } from '../global/refresh';
+import server from './server';
@@ -13,27 +14,39 @@ export function zoomChange(ratio){
return;
}
- Store.zoomRatio = ratio;
-
clearTimeout(luckysheetZoomTimeout);
luckysheetZoomTimeout = setTimeout(() => {
+ if (Store.clearjfundo) {
+ Store.jfredo.push({
+ "type": "zoomChange",
+ "zoomRatio": Store.zoomRatio,
+ "curZoomRatio": ratio,
+ "sheetIndex": Store.currentSheetIndex,
+ });
+ }
+
+ Store.zoomRatio = ratio;
+
+ server.saveParam("all", Store.currentSheetIndex, Store.zoomRatio, { "k": "zoomRatio" });
- let $scrollLeft = $("#luckysheet-scrollbar-x"), $scrollTop = $("#luckysheet-scrollbar-y");
- let sl = $scrollLeft.scrollLeft(), st = $scrollTop.scrollTop();
+ zoomRefreshView();
+ }, 100);
+
+}
- let wp = $scrollLeft.find("div").width(), hp = $scrollTop.find("div").height();
+export function zoomRefreshView(){
+ let $scrollLeft = $("#luckysheet-scrollbar-x"), $scrollTop = $("#luckysheet-scrollbar-y");
+ let sl = $scrollLeft.scrollLeft(), st = $scrollTop.scrollTop();
- jfrefreshgrid_rhcw(Store.flowdata.length, Store.flowdata[0].length);
- changeSheetContainerSize();
+ let wp = $scrollLeft.find("div").width(), hp = $scrollTop.find("div").height();
- let wc = $scrollLeft.find("div").width(), hc = $scrollTop.find("div").height();
+ jfrefreshgrid_rhcw(Store.flowdata.length, Store.flowdata[0].length);
+ changeSheetContainerSize();
- $scrollLeft.scrollLeft(sl+wc-wp);
- $scrollTop.scrollTop(st+hc-hp);
+ let wc = $scrollLeft.find("div").width(), hc = $scrollTop.find("div").height();
- }, 100);
-
-
+ $scrollLeft.scrollLeft(sl+wc-wp);
+ $scrollTop.scrollTop(st+hc-hp);
}
@@ -58,7 +71,7 @@ export function zoomInitial(){
currentRatio = 0.1;
}
- Store.zoomRatio = currentRatio;
+ // Store.zoomRatio = currentRatio;
zoomChange(currentRatio);
zoomNumberDomBind(currentRatio);
});
@@ -82,16 +95,16 @@ export function zoomInitial(){
currentRatio = 4;
}
- Store.zoomRatio = currentRatio;
+ // Store.zoomRatio = currentRatio;
zoomChange(currentRatio);
zoomNumberDomBind(currentRatio);
});
- $("#luckysheet-zoom-slider").click(function(e){
+ $("#luckysheet-zoom-slider").mousedown(function(e){
let xoffset = $(this).offset().left, pageX = e.pageX;
let currentRatio = positionToRatio(pageX-xoffset);
- Store.zoomRatio = currentRatio;
+ // Store.zoomRatio = currentRatio;
zoomChange(currentRatio);
zoomNumberDomBind(currentRatio);
});
@@ -118,7 +131,7 @@ export function zoomInitial(){
pos = 0;
}
- Store.zoomRatio = currentRatio;
+ // Store.zoomRatio = currentRatio;
zoomChange(currentRatio);
let r = Math.round(currentRatio*100) + "%";
$("#luckysheet-zoom-ratioText").html(r);
@@ -136,7 +149,7 @@ export function zoomInitial(){
});
$("#luckysheet-zoom-ratioText").click(function(){
- Store.zoomRatio = 1;
+ // Store.zoomRatio = 1;
zoomChange(1);
zoomNumberDomBind(1);
});
diff --git a/src/demoData/sheetCell.js b/src/demoData/sheetCell.js
index e16bdc9..a1cadad 100644
--- a/src/demoData/sheetCell.js
+++ b/src/demoData/sheetCell.js
@@ -1170,4400 +1170,7 @@ const sheetCell = {
"order": "0",
"column": 18,
"row": 36,
- "celldata": [{
- "r": 0,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 0,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 0,
- "v": {
- "v": "Background",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Background",
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 2,
- "v": {
- "bg": "rgb(30, 144, 255)",
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 4,
- "v": {
- "bg": "rgb(0, 255, 0)",
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 1,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 2,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 0,
- "v": {
- "v": "Border",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Border",
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 3,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 4,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 5,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 6,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 7,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 8,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 9,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 10,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 11,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 12,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "mc": {
- "r": 13,
- "c": 5,
- "rs": 3,
- "cs": 1
- }
- }
- }, {
- "r": 13,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "mc": {
- "r": 13,
- "c": 7,
- "rs": 3,
- "cs": 2
- }
- }
- }, {
- "r": 13,
- "c": 8,
- "v": {
- "mc": {
- "r": 13,
- "c": 7
- }
- }
- }, {
- "r": 13,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 13,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 14,
- "c": 0,
- "v": {
- "v": "Span",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Span",
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 14,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 14,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "mc": {
- "r": 14,
- "c": 2,
- "rs": 1,
- "cs": 2
- }
- }
- }, {
- "r": 14,
- "c": 3,
- "v": {
- "mc": {
- "r": 14,
- "c": 2
- }
- }
- }, {
- "r": 14,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 14,
- "c": 5,
- "v": {
- "mc": {
- "r": 13,
- "c": 5
- }
- }
- }, {
- "r": 14,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 14,
- "c": 7,
- "v": {
- "mc": {
- "r": 13,
- "c": 7
- }
- }
- }, {
- "r": 14,
- "c": 8,
- "v": {
- "mc": {
- "r": 13,
- "c": 7
- }
- }
- }, {
- "r": 14,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 14,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 5,
- "v": {
- "mc": {
- "r": 13,
- "c": 5
- }
- }
- }, {
- "r": 15,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 7,
- "v": {
- "mc": {
- "r": 13,
- "c": 7
- }
- }
- }, {
- "r": 15,
- "c": 8,
- "v": {
- "mc": {
- "r": 13,
- "c": 7
- }
- }
- }, {
- "r": 15,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 15,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 16,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 17,
- "c": 0,
- "v": {
- "v": "Font",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Font",
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 17,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 17,
- "c": 2,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": "11",
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 17,
- "c": 3,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 13,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 17,
- "c": 4,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 9,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 17,
- "c": 5,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 13,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 17,
- "c": 6,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": "rgb(255, 215, 0)",
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 17,
- "c": 7,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(67, 110, 238)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 17,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 17,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 17,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 18,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 19,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 19,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 19,
- "c": 2,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": "rgb(67, 110, 238)",
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(255, 215, 0)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 19,
- "c": 3,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": "10",
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 19,
- "c": 4,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 1,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 19,
- "c": 5,
- "v": {
- "v": "Luckysheet",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "cl": 1,
- "m": "Luckysheet"
- }
- }, {
- "r": 19,
- "c": 6,
- "v": {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "1",
- "vt": "0",
- "cl": 1
- }
- }, {
- "r": 19,
- "c": 7,
- "v": {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 19,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 19,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 19,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 20,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 21,
- "c": 0,
- "v": {
- "v": "Format",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Format",
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 21,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 21,
- "c": 2,
- "v": {
- "ct": {
- "fa": "##0.00",
- "t": "n"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "0.25",
- "v": 0.25
- }
- }, {
- "r": 21,
- "c": 3,
- "v": {
- "ct": {
- "fa": "$#,##0.00_);($#,##0.00)",
- "t": "n"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "$0.25 ",
- "v": 0.25
- }
- }, {
- "r": 21,
- "c": 4,
- "v": {
- "ct": {
- "fa": "\"$\" 0.00",
- "t": "n"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "$ 0.25",
- "v": 0.25
- }
- }, {
- "r": 21,
- "c": 5,
- "v": {
- "ct": {
- "fa": "0%",
- "t": "n"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "25%",
- "v": 0.25
- }
- }, {
- "r": 21,
- "c": 6,
- "v": {
- "ct": {
- "fa": "# ?/?",
- "t": "n"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": " 1/4",
- "v": 0.25
- }
- }, {
- "r": 21,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 21,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 21,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 21,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 22,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 23,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 23,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 23,
- "c": 2,
- "v": {
- "ct": {
- "fa": "0.00E+00",
- "t": "n"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "m": "2.50E-01",
- "v": 0.25
- }
- }, {
- "r": 23,
- "c": 3,
- "v": {
- "v": 0.25,
- "ct": {
- "fa": "0.00",
- "t": "n"
- },
- "m": "0.25",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 23,
- "c": 4,
- "v": {
- "ct": {
- "fa": "AM/PM h:mm:ss",
- "t": "d"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "v": 44032,
- "m": "AM 12:00:00"
- }
- }, {
- "r": 23,
- "c": 5,
- "v": {
- "ct": {
- "fa": "yyyy/MM/dd",
- "t": "d"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "v": 44032,
- "m": "2020/07/20"
- }
- }, {
- "r": 23,
- "c": 6,
- "v": {
- "ct": {
- "fa": "yyyy\"年\"M\"月\"d\"日\"",
- "t": "d"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "v": 44032,
- "m": "2020年7月20日"
- }
- }, {
- "r": 23,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 23,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 23,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 23,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 24,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 25,
- "c": 0,
- "v": {
- "v": "Alignment",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Alignment",
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 25,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 25,
- "c": 2,
- "v": {
- "v": "Top Left",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Top Left",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "1",
- "vt": "1"
- }
- }, {
- "r": 25,
- "c": 3,
- "v": {
- "v": "Top Center",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Top Center",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "0",
- "vt": "1"
- }
- }, {
- "r": 25,
- "c": 4,
- "v": {
- "v": "Top Right",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Top Right",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "2",
- "vt": "1"
- }
- }, {
- "r": 25,
- "c": 5,
- "v": {
- "v": "Center Left",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Center Left",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "1",
- "vt": "0"
- }
- }, {
- "r": 25,
- "c": 6,
- "v": {
- "v": "Center Center",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Center Center",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "0",
- "vt": "0"
- }
- }, {
- "r": 25,
- "c": 7,
- "v": {
- "v": "Center Right",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Center Right",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "2",
- "vt": "0"
- }
- }, {
- "r": 25,
- "c": 8,
- "v": {
- "v": "Bottom Left",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Bottom Left",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "1",
- "vt": "2"
- }
- }, {
- "r": 25,
- "c": 9,
- "v": {
- "v": "Bottom Center",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Bottom Center",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "0",
- "vt": "2"
- }
- }, {
- "r": 25,
- "c": 10,
- "v": {
- "v": "Bottom Right",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "Bottom Right",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": "2",
- "vt": "2"
- }
- }, {
- "r": 26,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 26,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 0,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 2,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 3,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 27,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 0,
- "v": {
- "v": "WordWrap",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "WordWrap",
- "bg": null,
- "bl": 1,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 1,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 2,
- "v": {
- "v": "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "tb": "2"
- }
- }, {
- "r": 28,
- "c": 3,
- "v": {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1,
- "tb": "1"
- }
- }, {
- "r": 28,
- "c": 4,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 5,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 6,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 7,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 8,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 9,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 28,
- "c": 10,
- "v": {
- "bg": null,
- "bl": 0,
- "it": 0,
- "ff": 0,
- "fs": 11,
- "fc": "rgb(51, 51, 51)",
- "ht": 1,
- "vt": 1
- }
- }, {
- "r": 30,
- "c": 0,
- "v": {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "v": "hidden1",
- "m": "hidden1"
- }
- }, {
- "r": 31,
- "c": 0,
- "v": {
- "m": "hidden2",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "v": "hidden2"
- }
- }],
+ "celldata": [{"r":0,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":1,"ct":{"fa":"General","t":"n"},"m":"1"}},{"r":0,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":2,"ct":{"fa":"General","t":"n"},"m":"2"}},{"r":0,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":3,"ct":{"fa":"General","t":"n"},"m":"3"}},{"r":0,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":3,"ct":{"fa":"General","t":"n"},"m":"3","f":"=Formula!A1+Formula!B1"}},{"r":0,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":0,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":0,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":0,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":0,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":0,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":0,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":0,"v":{"v":"Background","ct":{"fa":"General","t":"g"},"m":"Background","bg":null,"bl":1,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":2,"v":{"bg":"rgb(30, 144, 255)","bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":4,"v":{"bg":"rgb(0, 255, 0)","bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":1,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":2,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":0,"v":{"v":"Border","ct":{"fa":"General","t":"g"},"m":"Border","bg":null,"bl":1,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":3,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":4,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":5,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":6,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":7,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":8,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":9,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":10,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":11,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":12,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"mc":{"r":13,"c":5,"rs":3,"cs":1}}},{"r":13,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"mc":{"r":13,"c":7,"rs":3,"cs":2}}},{"r":13,"c":8,"v":{"mc":{"r":13,"c":7}}},{"r":13,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":13,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":14,"c":0,"v":{"v":"Span","ct":{"fa":"General","t":"g"},"m":"Span","bg":null,"bl":1,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":14,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":14,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"mc":{"r":14,"c":2,"rs":1,"cs":2}}},{"r":14,"c":3,"v":{"mc":{"r":14,"c":2}}},{"r":14,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":14,"c":5,"v":{"mc":{"r":13,"c":5}}},{"r":14,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":14,"c":7,"v":{"mc":{"r":13,"c":7}}},{"r":14,"c":8,"v":{"mc":{"r":13,"c":7}}},{"r":14,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":14,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":5,"v":{"mc":{"r":13,"c":5}}},{"r":15,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":7,"v":{"mc":{"r":13,"c":7}}},{"r":15,"c":8,"v":{"mc":{"r":13,"c":7}}},{"r":15,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":15,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":16,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":17,"c":0,"v":{"v":"Font","ct":{"fa":"General","t":"g"},"m":"Font","bg":null,"bl":1,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":17,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":17,"c":2,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":"11","fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":17,"c":3,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":13,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":17,"c":4,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":9,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":17,"c":5,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":13,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":17,"c":6,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":"rgb(255, 215, 0)","bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":17,"c":7,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(67, 110, 238)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":17,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":17,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":17,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":18,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":19,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":19,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":19,"c":2,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":"rgb(67, 110, 238)","bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(255, 215, 0)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":19,"c":3,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":1,"it":0,"ff":0,"fs":"10","fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":19,"c":4,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":1,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"Luckysheet"}},{"r":19,"c":5,"v":{"v":"Luckysheet","ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"cl":1,"m":"Luckysheet"}},{"r":19,"c":6,"v":{"ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"1","vt":"0","cl":1}},{"r":19,"c":7,"v":{"ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":19,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":19,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":19,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":20,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":21,"c":0,"v":{"v":"Format","ct":{"fa":"General","t":"g"},"m":"Format","bg":null,"bl":1,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":21,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":21,"c":2,"v":{"ct":{"fa":"##0.00","t":"n"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"0.25","v":0.25}},{"r":21,"c":3,"v":{"ct":{"fa":"$#,##0.00_);($#,##0.00)","t":"n"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"$0.25 ","v":0.25}},{"r":21,"c":4,"v":{"ct":{"fa":"\"$\" 0.00","t":"n"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"$ 0.25","v":0.25}},{"r":21,"c":5,"v":{"ct":{"fa":"0%","t":"n"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"25%","v":0.25}},{"r":21,"c":6,"v":{"ct":{"fa":"# ?/?","t":"n"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":" 1/4","v":0.25}},{"r":21,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":21,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":21,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":21,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":22,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":23,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":23,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":23,"c":2,"v":{"ct":{"fa":"0.00E+00","t":"n"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"m":"2.50E-01","v":0.25}},{"r":23,"c":3,"v":{"v":0.25,"ct":{"fa":"0.00","t":"n"},"m":"0.25","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":23,"c":4,"v":{"ct":{"fa":"AM/PM h:mm:ss","t":"d"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":44032,"m":"AM 12:00:00"}},{"r":23,"c":5,"v":{"ct":{"fa":"yyyy/MM/dd","t":"d"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":44032,"m":"2020/07/20"}},{"r":23,"c":6,"v":{"ct":{"fa":"yyyy\"年\"M\"月\"d\"日\"","t":"d"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"v":44032,"m":"2020年7月20日"}},{"r":23,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":23,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":23,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":23,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":24,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":25,"c":0,"v":{"v":"Alignment","ct":{"fa":"General","t":"g"},"m":"Alignment","bg":null,"bl":1,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":25,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":25,"c":2,"v":{"v":"Top Left","ct":{"fa":"General","t":"g"},"m":"Top Left","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"1","vt":"1"}},{"r":25,"c":3,"v":{"v":"Top Center","ct":{"fa":"General","t":"g"},"m":"Top Center","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"0","vt":"1"}},{"r":25,"c":4,"v":{"v":"Top Right","ct":{"fa":"General","t":"g"},"m":"Top Right","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"2","vt":"1"}},{"r":25,"c":5,"v":{"v":"Center Left","ct":{"fa":"General","t":"g"},"m":"Center Left","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"1","vt":"0"}},{"r":25,"c":6,"v":{"v":"Center Center","ct":{"fa":"General","t":"g"},"m":"Center Center","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"0","vt":"0"}},{"r":25,"c":7,"v":{"v":"Center Right","ct":{"fa":"General","t":"g"},"m":"Center Right","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"2","vt":"0"}},{"r":25,"c":8,"v":{"v":"Bottom Left","ct":{"fa":"General","t":"g"},"m":"Bottom Left","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"1","vt":"2"}},{"r":25,"c":9,"v":{"v":"Bottom Center","ct":{"fa":"General","t":"g"},"m":"Bottom Center","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"0","vt":"2"}},{"r":25,"c":10,"v":{"v":"Bottom Right","ct":{"fa":"General","t":"g"},"m":"Bottom Right","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":"2","vt":"2"}},{"r":26,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":26,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":0,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":2,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":3,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":27,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":0,"v":{"v":"WordWrap","ct":{"fa":"General","t":"g"},"m":"WordWrap","bg":null,"bl":1,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":1,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":2,"v":{"v":"ABCDEFGHIJKLMNOPQRSTUVWXYZ","ct":{"fa":"General","t":"g"},"m":"ABCDEFGHIJKLMNOPQRSTUVWXYZ","bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"tb":"2"}},{"r":28,"c":3,"v":{"ct":{"fa":"General","t":"g"},"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1,"tb":"1"}},{"r":28,"c":4,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":5,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":6,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":7,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":8,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":9,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":28,"c":10,"v":{"bg":null,"bl":0,"it":0,"ff":0,"fs":11,"fc":"rgb(51, 51, 51)","ht":1,"vt":1}},{"r":30,"c":0,"v":{"ct":{"fa":"General","t":"g"},"v":"hidden1","m":"hidden1"}},{"r":31,"c":0,"v":{"m":"hidden2","ct":{"fa":"General","t":"g"},"v":"hidden2"}}],
"ch_width": 2322,
"rh_height": 949,
"luckysheet_select_save": [{
@@ -5580,8 +1187,9 @@ const sheetCell = {
"row_focus": 30,
"column_focus": 0
}],
+ "calcChain":[{"r":0,"c":3,"index":"0","func":[true,3,"=Formula!A1+Formula!B1"],"color":"b","parent":null,"chidren":{},"times":1}],
"luckysheet_selection_range": [],
- "scrollLeft": 300,
- "scrollTop": 500
+ "scrollLeft": 0,
+ "scrollTop": 0
}
export default sheetCell
\ No newline at end of file
diff --git a/src/demoData/sheetFormula.js b/src/demoData/sheetFormula.js
index 2ca5309..9749d1e 100644
--- a/src/demoData/sheetFormula.js
+++ b/src/demoData/sheetFormula.js
@@ -6594,7 +6594,8 @@ const sheetFormula = {
}],
"luckysheet_selection_range": [],
"scrollLeft": 0,
- "scrollTop": 0
+ "scrollTop": 0,
+ "frozen": {"type":"row"}
}
export default sheetFormula
\ No newline at end of file
diff --git a/src/global/formula.js b/src/global/formula.js
index 83455e3..db5981c 100644
--- a/src/global/formula.js
+++ b/src/global/formula.js
@@ -3600,7 +3600,7 @@ const luckysheetformula = {
"+": 2,
"-": 2
},
- functionParser: function(txt) {
+ functionParser: function(txt, cellRangeFunction) {
let _this = this;
if (_this.operatorjson == null) {
@@ -3672,7 +3672,7 @@ const luckysheetformula = {
let bt = bracket.pop();
if(bracket.length == 0){
- function_str += _this.functionParser(str) + ")";
+ function_str += _this.functionParser(str,cellRangeFunction) + ")";
str = "";
}
else{
@@ -3699,7 +3699,7 @@ const luckysheetformula = {
}
else if (s == ',' && matchConfig.dquote == 0 && matchConfig.braces == 0) {
if(bracket.length <= 1){
- function_str += _this.functionParser(str) + ",";
+ function_str += _this.functionParser(str,cellRangeFunction) + ",";
str = "";
}
else{
@@ -3717,7 +3717,7 @@ const luckysheetformula = {
if ((s + s_next) in _this.operatorjson) {
if(bracket.length == 0){
if($.trim(str).length > 0){
- cal2.unshift(_this.functionParser($.trim(str)));
+ cal2.unshift(_this.functionParser($.trim(str),cellRangeFunction));
}
else if($.trim(function_str).length > 0){
cal2.unshift($.trim(function_str));
@@ -3746,7 +3746,7 @@ const luckysheetformula = {
else {
if(bracket.length == 0){
if($.trim(str).length > 0){
- cal2.unshift(_this.functionParser($.trim(str)));
+ cal2.unshift(_this.functionParser($.trim(str),cellRangeFunction));
}
else if($.trim(function_str).length > 0){
cal2.unshift($.trim(function_str));
@@ -3790,7 +3790,11 @@ const luckysheetformula = {
let endstr = "";
if (_this.iscelldata($.trim(str))) {
- endstr = "luckysheet_getcelldata('" + $.trim(str) + "')";
+ let str_nb = $.trim(str);
+ endstr = "luckysheet_getcelldata('" +str_nb + "')";
+ if(typeof(cellRangeFunction)=="function"){
+ cellRangeFunction(str_nb);
+ }
}
else {
str = $.trim(str);
diff --git a/src/utils/util.js b/src/utils/util.js
index 6d89e73..90f294b 100644
--- a/src/utils/util.js
+++ b/src/utils/util.js
@@ -385,7 +385,13 @@ function luckysheetactiveCell() {
//单元格编辑聚焦
function luckysheetContainerFocus() {
- $("#" + Store.container).attr("tabindex", 0).focus({
+ // $("#" + Store.container).attr("tabindex", 0).focus({
+ // preventScroll: true
+ // });
+
+ // fix jquery error: Uncaught TypeError: ((n.event.special[g.origType] || {}).handle || g.handler).apply is not a function
+
+ $("#" + Store.container).focus({
preventScroll: true
});
}