From 2b6f8ceeceac886664c6219265a645544a835437 Mon Sep 17 00:00:00 2001
From: lrz <1414556676@qq.com>
Date: Fri, 14 Aug 2020 23:16:10 +0800
Subject: [PATCH] docs(docs): docs api config
api,config change
---
README-zh.md | 24 +-
README.md | 24 +-
docs/.vuepress/config.js | 8 +-
docs/guide/{format.md => cell.md} | 0
docs/guide/config.md | 37 +-
docs/zh/guide/README.md | 42 +-
docs/zh/guide/api.md | 1462 +++++++++++++++++++-
docs/zh/guide/{format.md => cell.md} | 553 +++-----
docs/zh/guide/config.md | 248 ++--
docs/zh/guide/data.md | 760 +---------
docs/zh/guide/operate.md | 10 +-
docs/zh/guide/sheet.md | 764 ++++++++++
src/config.js | 1 -
src/controllers/handler.js | 2 +-
src/controllers/luckysheetConfigsetting.js | 1 -
src/core.js | 1 -
16 files changed, 2586 insertions(+), 1351 deletions(-)
rename docs/guide/{format.md => cell.md} (100%)
rename docs/zh/guide/{format.md => cell.md} (77%)
create mode 100644 docs/zh/guide/sheet.md
diff --git a/README-zh.md b/README-zh.md
index d7af642..aa69400 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -2,7 +2,7 @@
简体中文 | [English](./README.md)
## 介绍
-Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。
+🚀Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。
## 文档
[在线demo](https://mengshukeji.github.io/LuckysheetDemo/)
@@ -13,7 +13,7 @@ Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置
## 特性
-### 格式设置
+### 🛠️格式设置
+ **样式** (修改字体样式,字号,颜色或者其他通用的样式)
+ **条件格式** (突出显示所关注的单元格或单元格区域;强调异常值;使用数据栏、色阶和图标集(与数据中的特定变体对应)直观地显示数据)
+ **文本对齐及旋转**
@@ -22,7 +22,7 @@ Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置
+ **货币, 百分比, 数字, 日期**
+ **Custom** (和excel保持一致,例如: `##,###0.00` , `$1,234.56$##,###0.00_);[Red]($##,###0.00)`, `_($* ##,###0.00_);_(...($* "-"_);_(@_)`, `08-05 PM 01:30MM-dd AM/PM hh:mm` )
-### 单元格
+### 🧬单元格
+ **拖拽选取来修改单元格** (对选区进行操作,可以拖动四边来移动选区,也可以在右下角对选区进行下拉填充操作)
+ **选取下拉填充** (对于一个1,2,3,4,5的序列,将会按照间隔为1进行下拉填充,而对2,4,6,8将会以2作为间隔。支持等差数列,等比数列,日期,周,天,月,年,中文数字填充)
+ **自动填充选项** (下拉填充后,会出现填充选项的菜单,支持选择复制,序列,仅格式,只填充格式,天,月,年的选择)
@@ -31,19 +31,19 @@ Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置
+ **定位** (可以根据单元格的数据类型进行自动定位并选中,选中后可以批量进行格式等操作)
+ **合并单元格**
-### 行和列操作
+### 🖱️行和列操作
+ **隐藏,插入,删除行或列**
+ **冻结行或列** (支持冻结首行和首列,冻结到选区,冻结调节杆可以进行拖动操作)
+ **文本分列** (可以把文本根据不同符号进行拆分,和excel的分列功能类似)
-### 操作体验
+### 🔨操作体验
+ **撤销/重做**
+ **复制/粘贴/剪切操作** (支持Luckysheet到excel和excel到Luckysheet带格式的互相拷贝)
+ **快捷键支持** (快捷键操作保持与excel一致,如果有不同或者缺失请反馈给我们)
+ **格式刷** (与google sheet类似)
+ **任意选区拖拽** (选择单元格,输入公式,插入图表,会与选区相关,可以通过任意拖动和放大缩小选区来改变与之关联的参数)
-### 公式和函数
+### ⚙️公式和函数
+ **内置公式**
+ 数学 (SUMIFS, AVERAGEIFS, SUMIF, SUM, etc.)
+ 文本 (CONCATENATE, REGEXMATCH, MID)
@@ -56,32 +56,32 @@ Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置
+ **远程公式** (DM_TEXT_TFIDF, DM_TEXT_TEXTRANK,DATA_CN_STOCK_CLOSE etc. Need remote interface, can realize complex calculation)
+ **自定义公式** (根据身份证识别年龄,性别,生日,省份,城市等. AGE_BY_IDCARD, SEX_BY_IDCARD, BIRTHDAY_BY_IDCARD, PROVINCE_BY_IDCARD, CITY_BY_IDCARD, etc. 可以任意加入自己的公式哦)
-### 表格操作
+### 📐表格操作
+ **筛选** (支持颜色、数字、字符、日期的筛选)
+ **排序** (同时加入多个字段进行排序)
-### 数据透视表
+### 📈数据透视表
+ **字段拖拽** (操作方式与excel类似,拖动字段到行、列、数值、筛选等4个区域)
+ **聚合方式** (支持汇总、计数、去重计数、平均、最大、最小、中位数、协方差、标准差、方差等计算)
+ **筛选数据** (可对字段进行筛选后再进行汇总)
+ **数据透视表下钻** (双击数据透视表中的数据,可以下钻查看到明细,操作方式与excel一致)
+ **根据数据透视表新建图表** (数据透视表产生的数据也可以进行图表的制作)
-### 图表
+### 📊图表
+ **支持的图表类型** (目前折线图、柱状图、面积图、条形图、饼图可以使用,散点图、雷达图、仪表盘、漏斗图正在接入,其他图表正在陆续开发中,请大家给予建议)
+ **关于图表插件** (图表使用了一个中间插件[ChartMix](https://github.com/mengshukeji/chartMix)(MIT协议): 目前支持ECharts,正在逐步接入Highcharts、阿里G2、amCharts、googleChart、chart.js)
+ **Sparklines小图** (以公式的形式进行设置和展示,目前支持:折线图、面积图、柱状图、累积图、条形图、离散图、三态图、饼图、箱线图等)
-### 分享及写作
+### ✍️分享及写作
+ **评论** (评论的删除、添加、修改、隐藏)
+ **共享编辑** (支持多用户共享编辑,内置API)
-### Luckysheet专有
+### ⚡Luckysheet专有
+ **矩阵计算** (通过右键菜单进行支持:对选区内的数据进行转置、旋转、数值计算)
+ **截图** (把选区的内容进行截图展示)
+ **复制到其他格式** (右键菜单的"复制为", 支持复制为json、array、对角线数据、去重等)
-### 未来开发计划
+### ⏱️未来开发计划
+ **插入图表和svg形状** (支持JPG,PNG,SVG,Pen tool的插入、修改和删除,并且随表格的变动而产生变化)
+ **数据验证(表单功能)** (支持Checkbox, drop-down list, datePicker)
+ **打印及设置** (像excel一样进行打印设置,并导出为图片或者PDF)
diff --git a/README.md b/README.md
index 0eca531..818a696 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
English| [简体中文](./README-zh.md)
## Introduction
-Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
+🚀Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
## Documentation
[Online demo](https://mengshukeji.github.io/LuckysheetDemo/)
@@ -15,7 +15,7 @@ Luckysheet is an online spreadsheet like excel that is powerful, simple to confi
## Features
-### Formatting
+### 🛠️Formatting
+ **Styling** (Change font style, size, color, or apply effects)
+ **Conditional formatting** (highlight interesting cells or ranges of cells, emphasize unusual values, and visualize data by using data bars, color scales, and icon sets that correspond to specific variations in the data)
+ **Align or rotate text**
@@ -24,7 +24,7 @@ Luckysheet is an online spreadsheet like excel that is powerful, simple to confi
+ **currency, percentages, decimals, dates**
+ **Custom** (E.g `##,###0.00` , `$1,234.56$##,###0.00_);[Red]($##,###0.00)`, `_($* ##,###0.00_);_(...($* "-"_);_(@_)`, `08-05 PM 01:30MM-dd AM/PM hh:mm` )
-### Cells
+### 🧬Cells
+ **Move cells by drag and dropping** (Operate on selection)
+ **Fill handle** (For a series like 1, 2, 3, 4, 5..., type 1 and 2 in the first two cells. For the series 2, 4, 6, 8..., type 2 and 4. Support arithmetic sequence, geometric sequence,date, week,chinese numbers)
+ **Auto Fill Options** (Fill copy, sequence, only format, no format, day, month, year)
@@ -33,19 +33,19 @@ Luckysheet is an online spreadsheet like excel that is powerful, simple to confi
+ **Location** (Cells can be selected according to the data type)
+ **Merge cells**
-### Row & columns
+### 🖱️Row & columns
+ **Hide, Insert, Delete rows and columns**
+ **Frozen rows and columns** (First row, first column, Frozen to selection, freeze adjustment lever can be dragged)
+ **Split text** (Split text into different columns with the Convert Text to Columns Wizard)
-### Operation
+### 🔨Operation
+ **Undo/Redo**
+ **Copy/Paste/Cut** (Copy from excel to Luckysheet with format, vice versa)
+ **Hot key** (The operating experience is consistent with excel, if there are differences or missing, please feedback to us)
+ **Format Painter** (Similar to google sheet)
+ **Selection by drag and dropping** (Change the parameters of formula and chart through selection)
-### Formulas & functions
+### ⚙️Formulas & functions
+ **Built-in formulas**
+ Math (SUMIFS, AVERAGEIFS, SUMIF, SUM, etc.)
+ Text (CONCATENATE, REGEXMATCH, MID)
@@ -58,32 +58,32 @@ Luckysheet is an online spreadsheet like excel that is powerful, simple to confi
+ **Remote formulas** (DM_TEXT_TFIDF, DM_TEXT_TEXTRANK,DATA_CN_STOCK_CLOSE etc. Need remote interface, can realize complex calculation)
+ **Custom** (Some formula suitable for use in China have been added. AGE_BY_IDCARD, SEX_BY_IDCARD, BIRTHDAY_BY_IDCARD, PROVINCE_BY_IDCARD, CITY_BY_IDCARD, etc. You can define any formula you want)
-### Tables
+### 📐Tables
+ **Filters** (Support color , numerical, date, text filtering)
+ **Sort** (Sort multiple fields simultaneously)
-### Pivot table
+### 📈Pivot table
+ **Arrange fields** (Add fileds to rows, columns, values, area, it is similar to excel)
+ **Aggregation** (Surport Sum,Count,CountA,CountUnique,Average,Max,Min,Median,Product,Stdev,Stdevp,Var,VarP etc.)
+ **Filter data** (Add fileds to filters area and analyze the desired data )
+ **Drill down** (Double click pivot table cell to drill down for detail data )
+ **Create a PivotChart** (Pivot table can create a chart )
-### Chart
+### 📊Chart
+ **Support types** (Line, Column, Area, Bar, Pie, comming soon Scatter, Radar, Gauge, Funnel etc.)
+ **Chart Plugins** (Link to another project [ChartMix](https://github.com/mengshukeji/chartMix)(MIT): ECharts is currently supported,Highcharts, Ali G2, amCharts, googleChart, chart.js are being developed gradually)
+ **Sparklines** (Support by formula : Line, Pie, Box, Pie etc.)
-### Share
+### ✍️Share
+ **Comments** (Add, delete, update)
+ **Collaborate** (Simultaneous editing by multiple users)
-### Luckysheet
+### ⚡Luckysheet
+ **Matrix operation** (Operate selection through the right-click menu: transpose, rotate, numerical calculation)
+ **Screenshot** (Take a screenshot with selection)
+ **Copy to** (In the right-click menu, copy selection to json, array etc.)
-### Coming soon
+### ⏱️Coming soon
+ **Insert picture and Shapes** (JPG,PNG,SVG,Pen tool and so on)
+ **Data validation** (Checkbox, drop-down list, datePicker)
+ **Print** (Like excel print option, save to PDF)
diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js
index 1252510..3c6b023 100644
--- a/docs/.vuepress/config.js
+++ b/docs/.vuepress/config.js
@@ -49,10 +49,10 @@ module.exports = {
'/guide/': [
'',
'config',
- 'api',
'data',
+ 'cell',
'operate',
- 'format',
+ 'api',
'FAQ'
],
},
@@ -84,10 +84,10 @@ module.exports = {
'/zh/guide/': [
'',
'config',
- 'api',
'data',
+ 'cell',
'operate',
- 'format',
+ 'api',
'FAQ'
],
},
diff --git a/docs/guide/format.md b/docs/guide/cell.md
similarity index 100%
rename from docs/guide/format.md
rename to docs/guide/cell.md
diff --git a/docs/guide/config.md b/docs/guide/config.md
index e2e3ab0..0fa6c7b 100644
--- a/docs/guide/config.md
+++ b/docs/guide/config.md
@@ -17,6 +17,12 @@
- Default: "en"
- Usage: Internationalization settings, allowing to set the language of the table, temporarily supporting Chinese ("zh") and English ("en")
+------------
+## gridKey
+- Type: String
+- Default: ""
+- Usage: Form unique identifier
+
------------
## column
- Type: Number
@@ -84,7 +90,6 @@
- Usage: Whether to display the bottom table name area
------------
-
## showstatisticBar
- Type: Boolean
- Default: true
@@ -108,24 +113,6 @@
- Default: true
- Usage: Allow add column
-------------
-## pointEdit
-- Type: Boolean
-- Default: false
-- Usage: Whether the editor inserts table mode
-
-------------
-## pointEditUpdate
-- Type: Function
-- Default: null
-- Usage: Editor table update function
-
-------------
-## pointEditZoom
-- Type: Number
-- Default: 1
-- Usage: Editor table scaling when editing
-
------------
## userInfo
- Type: String
@@ -150,12 +137,6 @@
- Default: window.devicePixelRatio
- Usage: Device Pixel Ratio, the larger the ratio, the higher the table resolution
-------------
-## gridKey
-- Type: String
-- Default: ""
-- Usage: Form unique identifier
-
------------
## allowUpdate
- Type: Boolean
@@ -204,12 +185,6 @@
- Default: false
- Usage: Allow next page to load
-------------
-## chartConfigChange
-- Type: Function
-- Default: null
-- Usage: Custom method for triggering chart update in chart plugin
-
------------
## beforeCreateDom
- Type: Function
diff --git a/docs/zh/guide/README.md b/docs/zh/guide/README.md
index 4308406..9088cb7 100644
--- a/docs/zh/guide/README.md
+++ b/docs/zh/guide/README.md
@@ -155,25 +155,27 @@ luckysheetfile = [ {sheet1设置}, {sheet2设置}, {sheet3设置} ]`

-文件中的一个sheet的示例如下:
-```javascript
-luckysheetfile[0] =
+文件中的一个sheet的数据`luckysheetfile[0]`的结构如下:
+```json
{
"name": "Cell", //工作表名称
"color": "", //工作表颜色
- "config": {}, //表格行高、列宽、合并单元格、边框、隐藏行等设置
"index": "0", //工作表索引
- "chart": [], //图表配置
"status": "1", //激活状态
"order": "0", //工作表的顺序
"hide": 0,//是否隐藏
- "column": 18, //列数
"row": 36, //行数
- "celldata": [], //原始单元格数据集
- "visibledatarow": [], //所有行的位置
- "visibledatacolumn": [], //所有列的位置
- "ch_width": 2322, //工作表区域的宽度
- "rh_height": 949, //工作表区域的高度
+ "column": 18, //列数
+ "config": {
+ "merge":{}, //合并单元格
+ "rowlen":{}, //表格行高
+ "columnlen":{}, //表格列宽
+ "rowhidden":{}, //隐藏行
+ "columnhidden":{}, //隐藏列
+ "borderInfo":{}, //边框
+ },
+ "celldata": [], //初始化使用的单元格数据
+ "data": [], //更新和存储使用的单元格数据
"scrollLeft": 0, //左右滚动条位置
"scrollTop": 315, //上下滚动条位置
"luckysheet_select_save": [], //选中的区域
@@ -181,10 +183,17 @@ luckysheetfile[0] =
"calcChain": [],//公式链
"isPivotTable":false,//是否数据透视表
"pivotTable":{},//数据透视表设置
- "filter_select": null,//筛选范围
+ "filter_select": {},//筛选范围
"filter": null,//筛选配置
"luckysheet_alternateformat_save": [], //交替颜色
- "luckysheet_alternateformat_save_modelCustom": []//自定义交替颜色
+ "luckysheet_alternateformat_save_modelCustom": [], //自定义交替颜色
+ "freezen": {}, //冻结行列
+ "chart": [], //图表配置
+ "visibledatarow": [], //所有行的位置
+ "visibledatacolumn": [], //所有列的位置
+ "ch_width": 2322, //工作表区域的宽度
+ "rh_height": 949, //工作表区域的高度
+ "load": "1", //已加载过此sheet的标识
}
```
### 查看方式
@@ -214,9 +223,4 @@ luckysheetfile[0] =
| UP/DOWN/LEFT/RIGHT | 移动单元格选框 |
| ENTER | 编辑单元格 |
| TAB | 向右移动单元格选框 |
-| DELETE | 清除单元格数据 |
-
-## 警告
-::: danger
-新的API正在整理,可能随时变动,请谨慎使用!
-:::
\ No newline at end of file
+| DELETE | 清除单元格数据 |
\ No newline at end of file
diff --git a/docs/zh/guide/api.md b/docs/zh/guide/api.md
index 44aac5c..fd392c1 100644
--- a/docs/zh/guide/api.md
+++ b/docs/zh/guide/api.md
@@ -1,58 +1,1418 @@
# API
-::: danger
-新的API正在整理,请谨慎使用!
-:::
+Luckysheet针对常用的数据操作需求,开放了主要功能的API,开发者可以根据需要进行任意对接开发。
+
+使用注意:
+1. 所有方法均挂载到window.luckysheet对象下面,可以在浏览器控制台打印看到
+2. `success`回调函数第一个参数为API方法的返回值
+3. 需要新的API请到github [Issues](https://github.com/mengshukeji/Luckysheet/issues/new/choose)中提交,根据点赞数决定是否开放新API
+3. ⚠️新的API正在整理,旧API可能随时变动,请谨慎使用并随时关注官网更新!
+
+## 单元格操作
+
+### getCellValue(row, column [,setting])
+
+- **参数**:
+
+ - {Number} [row]: 单元格所在行数;从0开始的整数,0表示第一行
+ - {Number} [column]: 单元格所在列数;从0开始的整数,0表示第一列
+ - {PlainObject} [setting]: 可选参数
+ + {String} [type]: 单元格的值,可以设置为"v":原始值 或者"m":显示值;默认值为'v',表示获取单元格的实际值
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 获取单元格的值。
+
+ 特殊情况,单元格格式为`yyyy-MM-dd`,`type`为`'v'`时会强制取`'m'`显示值
+
+- **示例**:
+
+ - 返回当前工作表第1行第1列单元格的数据的v值
+
+ `luckysheet.getCellValue(0, 0)`
+
+ - 返回指定data数据的第2行第2列单元格的原始值。
+
+ `luckysheet.getCellValue(1, 1, {type:"m"})`
+
+------------
+
+### setCellValue(row, column, value [,setting])
+
+- **参数**:
+ - {Number} [row]: 单元格所在行数;从0开始的整数,0表示第一行
+ - {Number} [column]: 单元格所在列数;从0开始的整数,0表示第一列
+ - {Object | String | Number} [value]: 要设置的值;可以为字符串或数字,或为符合Luckysheet单元格格式的对象,参考 [单元格属性表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 设置某个单元格的值,也可以设置整个单元格对象,用于同时设置多个单元格属性
+
+- **示例**:
+
+ - 设置当前工作表"A1"单元格的值为"abc"
+ `luckysheet.setCellValue(0, 0, 'abc');`
+
+------------
+
+### setCellFormat(row, column, attr, value [,setting])
+
+- **参数**:
+ - {Number} [row]: 单元格所在行数;从0开始的整数,0表示第一行
+ - {Number} [column]: 单元格所在列数;从0开始的整数,0表示第一列
+ - {String} [attr]: 属性类型,参考 [单元格属性表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)的属性值
+ - {String | Number | Object} [value]: 具体的设置值,一个属性会对应多个值,参考 [单元格属性表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)的值示例,特殊情况:如果属性类型`attr`是单元格格式`ct`,则设置值`value`应提供`ct.fa`,比如设置A1单元格的格式为百分比格式:
+
+ `luckysheet.setCellFormat(0, 0, "ct", "0.00%")`
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 设置某个单元格的属性,如果要设置单元格的值或者同时设置多个单元格属性,推荐使用`setCellValue`
+
+ 特殊的设置
+
+ - 边框设置时,attr为`"bd"`,value为一个key/value对象,需要同时设置边框类型:`borderType`/边框粗细:`style`/边框颜色:`color`/,比如设置A1单元格的边框为所有/红色/细:
+
+ `luckysheet.setCellAttr(0, 0, "bd", {borderType: "border-right",style: "1", color: "#ff0000"})`
+
+ 完整可选的设置参数如下:
+
+ + 边框类型 `borderType:"border-left" | "border-right" | "border-top" | "border-bottom" | "border-all" | "border-outside" | "border-inside" | "border-horizontal" | "border-vertical" | "border-none"`,
+ + 边框粗细 `style: 1 Thin | 2 Hair | 3 Dotted | 4 Dashed | 5 DashDot | 6 DashDotDot | 7 Double | 8 Medium | 9 MediumDashed | 10 MediumDashDot | 11 MediumDashDotDot | 12 SlantedDashDot | 13 Thick`
+ + 边框颜色 `color: 16进制颜色值`
+
+- **示例**:
+
+ - 设置当前工作表A1单元格文本加粗
+ `luckysheet.setCellFormat(0, 0, "bl", 1)`
+ - 设置第二个工作表的B2单元格背景为红色
+ `luckysheet.setCellFormat(1, 1, "bg", "#ff0000", {order:1})`
+ - 设置当前工作表"A1"单元格的值为"abc"
+ `luckysheet.setCellFormat(0, 0, 'v', 'abc');`
+
+------------
+
+### find(content [,setting])
+
+- **参数**:
+
+ - {String} [content]: 要查找的内容
+ - {PlainObject} [setting]: 可选参数
+ + {Boolean} [isRegularExpression]: 是否正则表达式匹配;默认为 `false`
+ + {Boolean} [isWholeWord]: 是否整词匹配;默认为 `false`
+ + {Boolean} [isCaseSensitive]: 是否区分大小写匹配;默认为 `false`
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 查找一个工作表中的指定内容,返回查找到的内容组成的单元格一位数组,数据格式同`celldata`。
+
+------------
+
+### replace(content, replaceContent [,setting])
+
+- **参数**:
+
+ - {String} [content]: 要查找的内容
+ - {String} [replaceContent]: 要替换的内容
+ - {PlainObject} [setting]: 可选参数
+ + {Boolean} [isRegularExpression]: 是否正则表达式匹配;默认为 `false`
+ + {Boolean} [isWholeWord]: 是否整词匹配;默认为 `false`
+ + {Boolean} [isCaseSensitive]: 是否区分大小写匹配;默认为 `false`
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 查找一个工作表中的指定内容并替换成新的内容,返回替换后的内容组成的单元格一位数组,数据格式同`celldata`。
+
+------------
+
+## 行和列操作
+
+### setHorizontalFrozen(isRange [,setting])
+
+- **参数**:
+ - {Boolean} [isRange]: 是否冻结行到选区
+ `isRange`可能的值有:
+
+ + `"false"`: 冻结首行
+ + `"true"`: 冻结行到选区
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 冻结行操作
+
+ 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`。
+
+------------
+
+### setVerticalFrozen(isRange [,setting])
+
+- **参数**:
+ - {Boolean} [isRange]: 是否冻结列到选区
+ `isRange`可能的值有:
+
+ + `"false"`: 冻结首列
+ + `"true"`: 冻结列到选区
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 冻结列操作
+
+ 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`。
+
+------------
+
+### setBothFrozen(isRange [,setting])
+
+- **参数**:
+ - {Boolean} [isRange]: 是否冻结行列到选区
+ `isRange`可能的值有:
+
+ + `"false"`: 冻结行列
+ + `"true"`: 冻结行列到选区
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: `isRange`为`true`的时候设置,开启冻结的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 冻结行列操作
+
+ 特别注意,只有在`isRange`设置为`true`的时候,才需要设置`setting`中的`range`。
+
+------------
+
+### cancelFrozen([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 取消冻结操作
+
+------------
+
+### insertRow( row [,setting])
+
+- **参数**:
+
+ - {Number} [row]: 在第几行插入空白行
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [number]: 插入的空白行数;默认为 1
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 在第`row`行的位置,插入`number`行空白行
+
+------------
+
+### insertColumn( column [,setting])
+
+- **参数**:
+
+ - {Number} [column]: 在第几列插入空白列
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [number]: 插入的空白列数;默认为 1
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 在第`column`列的位置,插入`number`列空白列
+
+------------
+
+### deleteRow(rowStart, rowEnd [,setting])
+
+- **参数**:
+
+ - {Number} [rowStart]: 要删除的起始行
+ - {Number} [rowEnd]: 要删除的结束行
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 删除指定的行
+
+ 特别提醒,删除行之后,行的序号并不会变化,注意观察数据是否被正确删除即可。
+
+------------
+
+### deleteColumn(columnStart, columnEnd [,setting])
+
+- **参数**:
+
+ - {Number} [columnStart]: 要删除的起始列
+ - {Number} [columnEnd]: 要删除的结束列
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 删除指定的列
+
+ 特别提醒,删除列之后,列的序号并不会变化,注意观察数据是否被正确删除即可。
+
+------------
+
+### hideRow(rowStart, rowEnd [,setting])
+
+- **参数**:
+
+ - {Number} [rowStart]: 要隐藏的起始行
+ - {Number} [rowEnd]: 要隐藏的结束行
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 隐藏指定的行
+
+ 特别提醒,隐藏行之后,行的序号会变化。
+
+------------
+
+### hideColumn(columnStart, columnEnd [,setting])(TODO)
+
+- **参数**:
+
+ - {Number} [columnStart]: 要隐藏的起始列
+ - {Number} [columnEnd]: 要隐藏的结束列
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 隐藏指定的列
+
+ 特别提醒,隐藏列之后,列的序号会变化。
+
+------------
+
+### showRow(rowStart, rowEnd [,setting])
+
+- **参数**:
+
+ - {Number} [rowStart]: 要显示的起始行
+ - {Number} [rowEnd]: 要显示的结束行
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 显示指定的行
+
+------------
+
+### showColumn(columnStart, columnEnd [,setting])(TODO)
+
+- **参数**:
+
+ - {Number} [columnStart]: 要显示的起始列
+ - {Number} [columnEnd]: 要显示的结束列
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 显示指定的列
+
+------------
+
+## 选区操作
+
+### getRangeValue([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 返回指定工作表指定范围的单元格二维数组数据,每个单元格为一个对象。
+
+ [单元格对象格式参考](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)
+
+------------
+
+### getRangeHtml([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 复制指定工作表指定单元格区域的数据,返回包含`
`html格式的数据,可用于粘贴到excel中保持单元格样式。
+
+ 特别注意,如果复制多个选区,这几个选区必须有相同的行或者相同的列才能复制,复制出的结果也会自动合并成衔接的数组,比如,多选`"C18:C20"` / `"E18:E20"` / `"G18:H20"`是允许的,但是多选`"C18:C20"` / `"E18:E21"`是不允许的
+
+------------
+
+### getRangeJson(title [,setting])
+
+- **参数**:
+
+ - {Boolean} [title]: 是否首行为标题
+
+ `title`可能的值有:
+
+ + `"true"`: 首行为标题
+ + `"false"`: 首行不为标题
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 复制指定工作表指定单元格区域的数据,返回`json`格式的数据
+
+------------
+
+### getRangeArray(dimensional [,setting])
+
+- **参数**:
+
+ - {String} [dimensional]: 数组维度
+
+ `dimensional`可能的值有:
+
+ + `"oneDimensional"`: 一维数组
+ + `"twoDimensional"`: 二维数组
+ + `"custom"`: 自定义维数组
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [row]: `dimensional`为`custom`的时候设置,多维数组的行数
+ + {Number} [column]: `dimensional`为`custom`的时候设置,多维数组的列数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 复制指定工作表指定单元格区域的数据,返回一维、二维或者自定义维数组格式的数据。
+
+ 特别注意,只有在`dimensional`设置为`custom`的时候,才需要设置`setting`中的`row`和`column`
+
+------------
+
+### getRangeDiagonal(type [,setting])
+
+- **参数**:
+
+ - {String} [type]: 对角线还是对角线偏移
+
+ `type`可能的值有:
+
+ + `"normal"`: 对角线
+ + `"offset"`: 对角线偏移
+ - {PlainObject} [setting]: 可选参数
+ - {Number} [column]: `type`为`offset`的时候设置,对角偏移的列数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 复制指定工作表指定单元格区域的数据,返回对角线或者对角线偏移`column`列后的数据。
+
+ 特别注意,只有在`type`设置为`offset`的时候,才需要设置`setting`中的`column`。
+
+------------
+
+### getRangeBoolean([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 复制指定工作表指定单元格区域的数据,返回布尔值的数据
+
+------------
+
+### setRangeShow(range [,setting])
+
+- **参数**:
+
+ - {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ - {PlainObject} [setting]: 可选参数
+ + {Boolean} [show]: 是否显示高亮选中效果;默认值为 `true`
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 指定工作表选中一个或多个选区为选中状态并选择是否高亮,支持多种格式设置。
+
+ 特别提醒,Luckysheet中涉及到的选区范围设置都可以参考这个设置
+
+- **示例**:
+
+ + 设定当前工作表选区范围`A1:B2`:
+
+ `luckysheet.setRangeShow("A1:B2")`
+ + 设定选区范围`A1:B2`:
+
+ `luckysheet.setRangeShow(["A1:B2"])`
+ + 设定选区范围`A1:B2`:
+
+ `luckysheet.setRangeShow({row:[0,1],column:[0,1]})`
+ + 设定选区范围`A1:B2`:
+
+ `luckysheet.setRangeShow([{row:[0,1],column:[0,1]}])`
+ + 设定选区范围`A1:B2`和`C3:D4`:
+
+ `luckysheet.setRangeShow(["A1:B2","C3:D4"])`
+ + 设定选区范围`A1:B2`和`D3`:
+
+ `luckysheet.setRangeShow([{row:[0,1],column:[0,1]},{row:[2,2],column:[3,3]}])`
+
+------------
+
+### setRangeValue(data [,setting])
+
+- **参数**:
+
+ - {Array} [data]: 要赋值的单元格二维数组数据,每个单元格的值,可以为字符串或数字,或为符合Luckysheet格式的对象,参考 [单元格属性表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 将一个单元格数组数据赋值到指定的区域,数据格式同`getRangeValue`方法取到的数据。
+
+------------
+
+### setRangeFormat(attr, value [,setting])
+
+- **参数**:
+
+ - {String} [attr]: 属性类型,
+ 参考 [单元格属性表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)的属性值
+ - {String | Number | Object} [value]: 具体的设置值,一个属性会对应多个值,参考 [单元格属性表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)的值示例,特殊情况:如果属性类型`attr`是单元格格式`ct`,则设置值`value`应提供`ct.fa`,比如设置`"A1:B2"`单元格的格式为百分比格式:
+
+ `luckysheet.setRangeFormat("ct", "0.00%", {range:"A1:B2"})`
+
+ - {PlainObject} [setting]: 可选参数
+ + {Object | String} [range]: 设置参数的目标选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 设置指定范围的单元格格式,一般用作处理格式,赋值操作推荐使用`setRangeValue`方法
+
+ - 边框设置时,attr为`"bd"`,value为一个key/value对象,需要同时设置边框类型:`borderType`/边框粗细:`style`/边框颜色:`color`/,比如设置`"A1:B2"`单元格的边框为所有/红色/细:
+
+ `luckysheet.setRangeFormat("bd", {borderType: "border-right",style: "1", color: "#ff0000"}, {range:["A1:B2"]})`
+
+ 完整可选的设置参数如下:
+
+ + 边框类型 `borderType:"border-left" | "border-right" | "border-top" | "border-bottom" | "border-all" | "border-outside" | "border-inside" | "border-horizontal" | "border-vertical" | "border-none"`,
+ + 边框粗细 `style: 1 Thin | 2 Hair | 3 Dotted | 4 Dashed | 5 DashDot | 6 DashDotDot | 7 Double | 8 Medium | 9 MediumDashed | 10 MediumDashDot | 11 MediumDashDotDot | 12 SlantedDashDot | 13 Thick`
+ + 边框颜色 `color: 16进制颜色值`
+
+- **示例**:
+
+ - 设置当前工作表`"A1:B2"`范围的单元格文本加粗
+ `luckysheet.setRangeFormat("bl", 1, {range:"A1:B2"})`
+ - 设置第二个工作表的`"B2"`和`"C4:D5"`范围的单元格背景为红色
+ `luckysheet.setRangeFormat("bg", "#ff0000", {range:["B2","C4:D5"], order:1})`
+
+------------
+
+### setRangeFilter(type [,setting])
+
+- **参数**:
+ - {String} [type]: 打开还是关闭筛选功能
+
+ `type`可能的值有:
+
+ + `"open"`: 打开筛选功能,返回当前筛选的范围对象
+ + `"close"`: 关闭筛选功能,返回关闭前筛选的范围对象
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,选定的范围开启或关闭筛选功能
+
+- **示例**:
+
+ - 打开第二个工作表"A1:B2"范围的筛选功能
+ `luckysheet.setRangeFilter("open",{range:"A1:B2",order:1})`
+
+------------
+
+### setRangeMerge(type [,setting])
+
+- **参数**:
+ - {String} [type]: 合并单元格类型
+
+ `type`可能的值有:
+
+ + `"all"`: 全部合并,区域内所有单元格合并成一个大的单元格
+ + `"horizontal"`: 水平合并,区域内在同一行的单元格合并成一个单元格
+ + `"vertical"`: 垂直合并,区域内在同一列的单元格合并成一个单元格
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,选定的范围设定合并单元格
+
+------------
+
+### cancelRangeMerge( [setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,选定的范围取消合并单元格
+
+------------
+
+### setRangeSort(type [,setting])
+
+- **参数**:
+
+ - {String} [type]: 排序类型
+
+ `type`可能的值有:
+
+ + `"asc"`: 升序
+ + `"des"`: 降序
+
+ - {PlainObject} [setting]: 可选参数
+
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,选定的范围开启排序功能,返回选定范围排序后的数据。
+
+- **示例**:
+
+ - 设置当前工作表当前选区为升序
+ `luckysheet.setRangeSort("asc")`
+
+------------
+
+### setRangeSortMulti(title, sort [,setting])
+
+- **参数**:
+
+ - {Boolean} [title]: 数据是否具有标题行
+ - {Array} [sort]: 列设置,设置需要排序的列索引和排序方式,格式如:`[{ i:0,sort:'asc' },{ i:1,sort:'des' }]`
+ - {PlainObject} [setting]: 可选参数
+
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,选定的范围开启多列自定义排序功能,返回选定范围排序后的数据。
+
+- **示例**:
+
+ - 设置当前工作表当前选区为自定义排序,数据具有标题行,且按第一列升序第二列降序的规则进行排序
+ `luckysheet.setRangeSortMulti(true,{sort:[{ i:0,sort:'asc' },{ i:1,sort:'des' }]})`
+
+------------
+
+### setRangeConditionalFormatDefault(conditionName, conditionValue [,setting])
+
+- **参数**:
+
+ - {String} [conditionName]: 条件格式规则类型
+
+ `conditionName`可能的值有:
+
+ + `"greaterThan"`: 大于
+ + `"lessThan"`: 小于
+ + `"betweenness"`: 介于
+ + `"equal"`: 等于
+ + `"textContains"`: 文本包含
+ + `"occurrenceDate"`: 发生日期
+ + `"duplicateValue"`: 重复值
+ + `"top"`: 前 N 项(可以在conditionValue中设置其他值)
+ + `"topPercent"`: 前 N%(可以在conditionValue中设置其他值)
+ + `"last"`: 后 N 项(可以在conditionValue中设置其他值)
+ + `"lastPercent"`: 后 N%(可以在conditionValue中设置其他值)
+ + `"AboveAverage"`: 高于平均值
+ + `"SubAverage"`: 低于平均值
+
+ - {Object} [conditionValue]: 可以设置条件单元格或者条件值
+ 取值规则
+ ```js
+ {
+ type: 'value',
+ content: [2]
+ }
+ ```
+ 或者
+ ```js
+ {
+ type: 'range',
+ content: ['A1']
+ }
+ ```
+
+ - {PlainObject} [setting]: 可选参数
+
+ + {Object | Array} [format]: 颜色设置
+
+ * `type`为`default`时,应设置文本颜色和单元格颜色;默认值为` {
+ "textColor": "#000000",
+ "cellColor": "#ff0000"
+ }`
+ + {Boolean} [isEdit]: 是否在修改条件格式规则;默认为 `false`
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,选定的范围开启条件格式,根据设置的条件格式规则突出显示部分单元格,返回开启条件格式后的数据。
+
+- **示例**:
+
+ - 突出显示内容大于数字2的单元格
+ `luckysheet.setRangeConditionalFormatDefault("greaterThan",{ type: 'value', content: [2] })`
+
+ - 突出显示内容小于单元格A1内容的单元格
+ `luckysheet.setRangeConditionalFormatDefault("lessThan",{ type: 'range', content: ['A1'] })`
+
+ - 突出显示内容介于2和10之间的单元格
+ `luckysheet.setRangeConditionalFormatDefault("betweenness",{ type: 'value', content: [2,10] })`
+
+ - 突出显示内容等于单元格A1内容的单元格
+ `luckysheet.setRangeConditionalFormatDefault("equal",{ type: 'range', content: ['A1'] })`
+
+ - 突出显示内容包含单元格A1内容的单元格
+ `luckysheet.setRangeConditionalFormatDefault("textContains",{ type: 'range', content: ['A1'] })`
+
+ - 突出显示日期在 `2020/09/24 - 2020/10/15` 之间的单元格
+ `luckysheet.setRangeConditionalFormatDefault("occurrenceDate",{ type: 'value', content: ['2020/09/24 - 2020/10/15'] })`
+
+ - 突出显示重复值的单元格,content为0
+ `luckysheet.setRangeConditionalFormatDefault("duplicateValue",{ type: 'value', content: [0] })`
+
+ - 突出显示唯一值的单元格,content为1
+ `luckysheet.setRangeConditionalFormatDefault("duplicateValue",{ type: 'value', content: [1] })`
+
+ - 突出显示排名前20名的单元格
+ `luckysheet.setRangeConditionalFormatDefault("top",{ type: 'value', content: [20] })`
+
+ - 突出显示排名前30%的单元格
+ `luckysheet.setRangeConditionalFormatDefault("topPercent",{ type: 'value', content: [30] })`
+
+ - 突出显示排名后15名的单元格
+ `luckysheet.setRangeConditionalFormatDefault("last",{ type: 'value', content: [15] })`
+
+ - 突出显示排名后15%的单元格
+ `luckysheet.setRangeConditionalFormatDefault("lastPercent",{ type: 'value', content: [15] })`
+
+ - 突出显示高于平均值的单元格
+ luckysheet.setRangeConditionalFormatDefault("AboveAverage",{ type: 'value', content: ['AboveAverage'] })`
+
+ - 突出显示低于平均值的单元格
+ luckysheet.setRangeConditionalFormatDefault("SubAverage",{ type: 'value', content: ['SubAverage'] })`
+
+------------
+
+### setRangeConditionalFormat(type [,setting])
-## luckysheet.create(options)
- **参数**:
- - {Object} [options]:表格的所有配置信息
-- **用法**:
+
+ - {String} [type]: 条件格式规则类型
- 初始化一个luckysheet,可包含多个工作表,参考 [配置列表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/config.html#container)
+ `type`可能的值有:
+
+ + `"dataBar"`: 数据条
+ + `"icons"`: 图标集
+ + `"colorGradation"`: 色阶
+
+ - {PlainObject} [setting]: 可选参数
+
+ + {Object | Array} [format]: 颜色设置
+
+ * `type`为`dataBar`时,应设置渐变色;默认值为蓝-白渐变` ["#638ec6", "#ffffff"]`
+
+ 推荐的快捷取值:
+ ```js
+ ["#638ec6", "#ffffff"], //蓝-白渐变 数据条
+ ["#63c384", "#ffffff"], //绿-白渐变 数据条
+ ["#ff555a", "#ffffff"], //红-白渐变 数据条
+ ["#ffb628", "#ffffff"], //橙-白渐变 数据条
+ ["#008aef", "#ffffff"], //浅蓝-白渐变 数据条
+ ["#d6007b", "#ffffff"], //紫-白渐变 数据条
+ ["#638ec6"], //蓝色 数据条
+ ["#63c384"], //绿色 数据条
+ ["#ff555a"], //红色 数据条
+ ["#ffb628"], //橙色 数据条
+ ["#008aef"], //浅蓝色 数据条
+ ["#d6007b"] //紫色 数据条
+ ```
+
+ * `type`为`icons`时,应设置图标类型;默认值为"threeWayArrowColor":三向箭头彩色,
+
+ 可取值为:
+
+ `threeWayArrowMultiColor`:三向箭头(彩色),
+
+ `threeTriangles`:3个三角形,
+
+ `fourWayArrowMultiColor`:四向箭头(彩色),
+
+ `fiveWayArrowMultiColor`:五向箭头(彩色),
+
+ `threeWayArrowGrayColor`:三向箭头(灰色),
+
+ `fourWayArrowGrayColor`:四向箭头(灰色),
+
+ `fiveWayArrowGrayColor`:五向箭头(灰色),
+
+ `threeColorTrafficLightRimless`:三色交通灯(无边框),
+
+ `threeSigns`:三标志,
+
+ `greenRedBlackGradient`:绿-红-黑渐变,
+
+ `threeColorTrafficLightBordered`:三色交通灯(有边框),
+
+ `fourColorTrafficLight`:四色交通灯,
+
+ `threeSymbolsCircled`:三个符号(有圆圈),
+
+ `tricolorFlag`:三色旗,
+
+ `threeSymbolsnoCircle`:三个符号(无圆圈),
+
+ `threeStars`:3个星形,
+
+ `fiveQuadrantDiagram`:五象限图,
+
+ `fiveBoxes`:5个框,
+
+ `grade4`:四等级,
+
+ `grade5`:五等级,
+
+ * `type`为`colorGradation`时,应设置色阶颜色值;默认值为绿-黄-红色阶` ["rgb(99, 190, 123)", "rgb(255, 235, 132)", "rgb(248, 105, 107)"]`
+
+ 推荐的快捷取值:
+ ```js
+ ["rgb(99, 190, 123)", "rgb(255, 235, 132)", "rgb(248, 105, 107)"], //绿-黄-红色阶
+ ["rgb(248, 105, 107)", "rgb(255, 235, 132)", "rgb(99, 190, 123)"], //红-黄-绿色阶
+
+ ["rgb(99, 190, 123)", "rgb(252, 252, 255)", "rgb(248, 105, 107)"], //绿-白-红色阶
+ ["rgb(248, 105, 107)", "rgb(252, 252, 255)", "rgb(99, 190, 123)"], //红-白-绿色阶
+
+ ["rgb(90, 138, 198)", "rgb(252, 252, 255)", "rgb(248, 105, 107)"], //蓝-白-红色阶
+ ["rgb(248, 105, 107)", "rgb(252, 252, 255)", "rgb(90, 138, 198)"], //红-白-蓝色阶
+
+ ["rgb(252, 252, 255)", "rgb(248, 105, 107)"], //白-红色阶
+ ["rgb(248, 105, 107)", "rgb(252, 252, 255)"], //红-白色阶
+
+ ["rgb(99, 190, 123)", "rgb(252, 252, 255)"], //绿-白色阶
+ ["rgb(252, 252, 255)", "rgb(99, 190, 123)"], //白-绿色阶
+
+ ["rgb(99, 190, 123)", "rgb(255, 235, 132)"], //绿-黄色阶
+ ["rgb(255, 235, 132)", "rgb(99, 190, 123)"] //黄-绿色阶
+ ```
+
+ + {Boolean} [isEdit]: 是否在修改条件格式规则;默认为 `false`
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,选定的范围开启条件格式,返回开启条件格式后的数据。
+
+------------
+
+### deleteRangeConditionalFormat(itemIndex [,setting])
+
+- **参数**:
+
+ - {Number} [itemIndex]: 条件格式规则索引
+
+ - {PlainObject} [setting]: 可选参数
+
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 为指定索引的工作表,删除条件格式规则,返回被删除的条件格式规则。
+
+- **示例**:
+
+ - 删除第三个条件格式规则
+ `luckysheet.editRangeConditionalFormat(2)`
+
+------------
+
+### clearRange([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 要清除的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 清除指定工作表指定单元格区域的内容,返回清除掉的数据,不同于删除选区的功能,不需要设定单元格移动情况
+
+------------
+
+### deleteRange(move [,setting])
+
+- **参数**:
+ - {String} [move]: 删除后,右侧还是下方的单元格移动
+
+ `move`可能的值有:
+
+ + `"left"`: 右侧单元格左移
+ + `"up"`: 下方单元格上移
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 要删除的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 删除指定工作表指定单元格区域,返回删除掉的数据,同时,指定是右侧单元格左移还是下方单元格上移
+
+------------
+
+### insertRange(move [,setting])
+
+- **参数**:
+
+ - {String} [move]: 活动单元格右移或者下移
+
+ `move`可能的值有:
+
+ + `"right"`: 活动单元格右移
+ + `"bottom"`: 活动单元格下移
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array} [data]: 赋值到range区域的单元格二维数组数据,[单元格对象格式参考](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8);默认值为空数组,即插入空白的区域
+ + {Array | Object | String} [range]: 要插入的位置,选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,默认为当前选区
+
+ 当未设置data数据时,允许多个选区组成的数组,插入的空白区域即为这些选区的区域,
+
+ 当设置了data数据,只能为单个选区,并且会把data数据插入到当前选区的第一个单元格位置
+
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 在指定工作表指定单元格区域,赋值单元格数据,或者新建一块空白区域,返回data数据,同时,指定活动单元格右移或者下移
+
+------------
+
+### matrixOperation(type [,setting])
+
+- **参数**:
+
+ - {String} [type]: 矩阵操作的类型
+
+ `type`可能的值有:
+
+ + `"flipUpDown"`: 上下翻转
+ + `"flipLeftRight"`: 左右翻转
+ + `"flipClockwise"`: 顺时针旋转
+ + `"flipCounterClockwise"`: 逆时针旋转
+ + `"Transpose"`: 转置
+ + `"DeleteZeroByRow"`: 按行删除两端0值
+ + `"DeleteZeroByColumn"`: 按列删除两端0值
+ + `"removeDuplicateByRow"`: 按行删除重复值
+ + `"removeDuplicateByColumn"`: 按列删除重复值
+ + `"newMatrix"`: 生产新矩阵
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 指定工作表指定单元格区域的数据进行矩阵操作,返回操作成功后的结果数据
+
+------------
+
+### matrixCalculation(type, number [,setting])
+
+- **参数**:
+ - {String} [type]: 计算方式
+
+ `type`可能的值有:
+
+ + `"plus"`: 加
+ + `"minus"`: 减
+ + `"multiply"`: 乘
+ + `"divided"`: 除
+ + `"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]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 指定工作表指定单元格区域的数据进行矩阵计算,返回计算成功后的结果数据
+
+------------
+
+## 工作表操作
+
+### getAllSheets([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 返回所有工作表配置,格式同[工作表配置](/zh/guide/sheet.html),得到的结果可用于表格初始化时作为`options.data`使用。
+
+ 所以此API适用于,手动操作配置完一个表格后,将所有工作表信息取出来自行保存,再用于其他地方的表格创建。
+
+- **示例**:
+
+ - 取得第一个工作表的所有基本信息
+ `luckysheet.getAllSheets()[0]`
+
+------------
+
+### getluckysheetfile()
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 返回所有表格数据结构的一维数组`luckysheetfile`,不同于`getAllSheets`方法,此方法得到的工作表参数会包含很多内部使用变量,最明显的区别是表格数据操作会维护`luckysheetfile[i].data`,而初始化数据采用的是`options.data[i].celldata`,所以`luckysheetfile`可用于调试使用,但是不适用初始化表格。
+
+- **示例**:
+
+ - 取得第一个工作表的所有调试信息
+ `luckysheet.getluckysheetfile()[0]`
+
+------------
+
+### setSheetAdd([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Object} [sheetObject]: 新增的工作表的数据;默认值为空对象
+ + {Number} [order]: 新增的工作表索引;默认值为最后一个索引位置
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 新增一个sheet,返回新增的工作表对象,`setting`中可选设置数据为 `sheetObject`,不传`sheetObject`则会新增一个空白的工作表
+
+- **示例**:
+
+ - 在最后一个工作表索引位置新增一个空白的工作表
+ `luckysheet.setSheetAdd()`
+
+------------
+
+### setSheetDelete([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 删除指定索引的工作表,返回已删除的工作表对象
+
+- **示例**:
+
+ - 删除当前工作表
+ `luckysheet.setSheetDelete()`
+
+------------
+
+### setSheetCopy([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [targetOrder]: 新复制的工作表目标索引位置;默认值为当前工作表索引的下一个索引位置(递增)
+ + {Number} [order]: 被复制的工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 复制指定索引的工作表到指定索引位置,在`setting`中可选设置指定索引位置`targetOrder`,返回新复制的工作表对象
+
+- **示例**:
+
+ - 复制当前工作表到下一个索引位置
+ `luckysheet.setSheetCopy()`
+
+------------
+
+### setSheetHide(hide [,setting])
+
+- **参数**:
+
+ - {Boolean} [hide]: 是否隐藏工作表
+
+ `hide`可能的值有的:
+ + `ture`: 隐藏指定索引的工作表,返回被隐藏的工作表对象
+ + `false`: 取消隐藏指定索引的工作表,返回被显示的工作表对象
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 被隐藏的工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 隐藏或取消隐藏指定索引的工作表,返回被隐藏或取消隐藏的工作表对象
+
+- **示例**:
+
+ - 隐藏当前工作表
+ `luckysheet.setSheetHide(true)`
+ - 取消隐藏第三个工作表
+ `luckysheet.setSheetHide(false,{order:2})`
+
+------------
+
+### setSheetActive(order [,setting])
+
+- **参数**:
+
+ - {Number} [order]: 要激活的工作表索引
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 设置指定索引的工作表为当前工作表(激活态),即切换到指定的工作表,返回被激活的工作表对象
+
+- **示例**:
+
+ - 切换到第二个工作表
+ `luckysheet.setSheetActive(1)`
+
+------------
+
+### setSheetName(name [,setting])
+
+- **参数**:
+
+ - {String} [name]: 新的工作表名称
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 修改工作表名称
+
+- **示例**:
+
+ - 修改当前工作表名称为"CellSheet"
+ `luckysheet.setSheetName("CellSheet")`
+
+------------
+
+### setSheetColor(color [,setting])
+
+- **参数**:
+ - {String} [color]: 工作表颜色
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 设置工作表名称处的颜色
+
+- **示例**:
+
+ - 修改当前工作表名称处的颜色为红色
+ `luckysheet.setSheetColor("#ff0000")`
+
+------------
+
+### setSheetMove(type [,setting])
+
+- **参数**:
+
+ - {String | Number} [type]: 工作表移动方向或者移动的目标索引,
+
+ `type`可能的值有:
+
+ + `"left"`: 向左
+ + `"right"`: 向右
+ + `1`/`2`/`3`/...: 指定索引
+ - {PlainObject} [setting]: 可选参数
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 指定工作表向左边或右边移动一个位置,或者指定索引,返回指定的工作表对象
+
+- **示例**:
+
+ - 当前工作表向左移动一个位置
+ `luckysheet.setSheetMove("left")`
+ - 第二个工作表移动到第四个工作表的索引位置
+ `luckysheet.setSheetMove(3,{order:1})`
+
+------------
+
+## 工作簿操作
+
+### getScreenshot([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 返回指定选区截图后生成的base64格式的图片
+
+------------
+
+### setWorkbookName(name [,setting])
+
+- **参数**:
+
+ - {Number} [name]: 工作簿名称
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 设置工作簿名称
+
+------------
+
+### undo([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 撤销当前操作,返回刚刚撤销的操作对象
+
+------------
+
+### redo([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 重做当前操作,返回刚刚重做的操作对象
+
+------------
+
+## 图表
+
+### insertChart([setting])
+
+- **参数**:
+
+ - {PlainObject} [setting]: 可选参数
+ + {Array | Object | String} [range]: 图表数据的选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ + {Number} [order]: 工作表索引;默认值为当前工作表索引
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 指定工作表指定选区范围生成一个图表,返回图表参数对象,包含图表唯一标识符chart id
+
+------------
+
+### setChart(chartId, attr, value [,setting])
+
+- **参数**:
+
+ - {String} [chartId]: 指定要修改的图表id
+ - {String} [attr]: 属性类型
+ `attr`可能的值有:
+
+ + `"left"`: 左边到工作表边缘的距离
+ + `"top"`: 上边到工作表边缘的距离
+ + `"width"`: 图表外框的宽度
+ + `"height"`: 图表外框的高度
+ + `"chartOptions"`: 图表的详细设置项
+
+ - {Number | Object}} [value]: 属性值,当`attr`为`chartOptions`时,直接设置整个chart的配置对象
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 修改指定id图表的参数,返回修改后的整个图表参数
+
+------------
+
+### getChart(chartId [,setting])
+
+- **参数**:
+
+ - {String} [chartId]: 指定要获取的图表id
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
+
+- **说明**:
+
+ 获取指定id图表的参数
------------
-## luckysheet.getcellvalue([r] [,c] [,data] [,type])
+
+### deleteChart(chartId [,setting])
+
- **参数**:
- - {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列单元格的原始值。
+ - {String} [chartId]: 要删除的图表id
+
+ - {PlainObject} [setting]: 可选参数
+ + {Function} [success]: 操作结束的回调函数
- 特殊情况:单元格格式为`yyyy-MM-dd`,type为'v'时会强制取'm'显示值
+- **说明**:
+
+ 删除指定id图表,返回被删除的图表的参数
------------
-## luckysheet.getluckysheetfile()
-- **用法**:
- 返回所有表格数据结构的一维数组 [luckysheetfile](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/data.html#%E8%8E%B7%E5%8F%96%E8%A1%A8%E6%A0%BC%E6%95%B0%E6%8D%AE),`luckysheet.getluckysheetfile()[0]`可取得第一个工作表的所有信息。
+## luckysheet.create(options)
+- **参数**:
+ - {Object} [options]:表格的所有配置信息
+- **说明**:
+
+ 初始化一个luckysheet,可包含多个工作表,参考 [配置列表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/config.html#container)
------------
+
## luckysheet.getconfig()
-- **用法**:
+- **说明**:
快捷返回当前表格config配置,每个工作表的config信息仍然包含在luckysheetfile。
------------
## luckysheet.getluckysheet_select_save()
-- **用法**:
+- **说明**:
返回当前选区对象的数组,可能存在多个选区。
------------
-## luckysheet.getdatabyselection([range] [,sheetIndex])
+## luckysheet.getdatabyselection([range] [,sheetOrder])
- **参数**:
- - {Object} [range]:选区对象,`object: { row: [r1, r2], column: [c1, c2] }`;可选值;默认为当前第一个选区。
- - {Number} [sheetIndex]:表格下标,从0开始的整数,0表示第一个表格;可选值;默认为当前表格下标。
-- **用法**:
+ - {Object} [range]:选区对象,`object: { row: [r1, r2], column: [c1, c2] }`;默认为当前第一个选区。
+ - {Number} [sheetOrder]:表格下标,从0开始的整数,0表示第一个表格;默认为当前表格下标。
+- **说明**:
返回某个表格第一个选区的数据。
- `luckysheet.getdatabyselection()`: 返回当前工作表当前选区的数据
@@ -63,28 +1423,14 @@
- **参数**:
- {Number} [scrollWidth]:横向滚动值。默认为当前横向滚动位置。
- {Number} [scrollHeight]:纵向滚动值。默认为当前纵向滚动位置。
-- **用法**:
+- **说明**:
按照scrollWidth, scrollHeight刷新canvas展示数据。
------------
-## luckysheet.setcellvalue(r, c, d, v)
-- **参数**:
- - {Number} [r]:单元格所在行数;从0开始的整数,0表示第一行。
- - {Number} [c]:单元格所在列数;从0开始的整数,0表示第一列。
- - {Array} [d]:表数据;可选值;二维数组。
- - {Object | String | Number} [v]:要设置的值;可为对象,对象是是要符合单元格对象格式。
-- **用法**:
- 设置某个单元格的值。可配合`luckysheet.luckysheetrefreshgrid()`刷新查看单元格值改变。
- ```js
- luckysheet.setcellvalue(0, 0, luckysheet.flowdata(), 'abc');
- luckysheet.jfrefreshgrid();
- ```
-
-------------
## luckysheet.jfrefreshgrid()
-- **用法**:
+- **说明**:
刷新canvas
@@ -92,7 +1438,7 @@
## luckysheet.setluckysheet_select_save(v)
- **参数**:
- {Array} [v]:要设置的选区值(数组)。符合选区格式规则,如`[{ row: [r1, r2], column: [c1, c2] }]`。
-- **用法**:
+- **说明**:
设置当前表格选区的值。配合`luckysheet.selectHightlightShow()`可在界面查看选区改变。
```js
@@ -102,29 +1448,29 @@
------------
## luckysheet.selectHightlightShow()
-- **用法**:
+- **说明**:
高亮当前选区
------------
-## luckysheet.setSheetHide(index)
+## luckysheet.setSheetHide(order)
- **参数**:
- - {Number} [index]:表格索引;从0开始的整数,0表示第一个表格;默认为当前表格索引。
-- **用法**:
+ - {Number} [order]:表格索引;从0开始的整数,0表示第一个表格;默认为当前表格索引。
+- **说明**:
隐藏某个表格。
------------
-## luckysheet.setSheetShow(index)
+## luckysheet.setSheetShow(order)
- **参数**:
- - {Number} [index]:表格索引;从0开始的整数,0表示第一个表格;默认为当前表格索引。
-- **用法**:
+ - {Number} [order]:表格索引;从0开始的整数,0表示第一个表格;默认为当前表格索引。
+- **说明**:
显示某个表格。
------------
## luckysheet.flowdata()
-- **用法**:
+- **说明**:
快捷获取当前表格的数据
@@ -132,7 +1478,7 @@
## luckysheet.buildGridData(file)
- **参数**:
- {Object} [file]:[luckysheetfile](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/data.html#%E8%8E%B7%E5%8F%96%E8%A1%A8%E6%A0%BC%E6%95%B0%E6%8D%AE)
-- **用法**:
+- **说明**:
生成表格可以识别的二维数组
@@ -140,12 +1486,12 @@
## luckysheet.getGridData(data)
- **参数**:
- {Array} [data]:工作表的二维数组数据
-- **用法**:
+- **说明**:
二维数组数据转化成 `{r, c, v}` 格式 一维数组
------------
## luckysheet.destroy()
-- **用法**:
+- **说明**:
- 删除并释放表格
+ 删除并释放表格
\ No newline at end of file
diff --git a/docs/zh/guide/format.md b/docs/zh/guide/cell.md
similarity index 77%
rename from docs/zh/guide/format.md
rename to docs/zh/guide/cell.md
index b2342cb..b048210 100644
--- a/docs/zh/guide/format.md
+++ b/docs/zh/guide/cell.md
@@ -1,339 +1,10 @@
-# 单元格格式
+# 单元格
-## 单元格介绍
+## 基本单元格
-### 基本单元格格式
单元格是Luckysheet中最基本的单位,每个单元格都会保存为一个对象,一个工作表的数据则会保存为一个由单元格对象组成的二维数组,并存入当前工作表的 `luckysheetfile[i].data`中。
-一个规范的单元格格式如下:
-```json
-{
- "ct": { //单元格值格式
- "fa": "General", //格式名称为自动格式
- "t": "n" //格式类型为数字类型
- },
- "v": 233, //内容的原始值为 233
- "m": 233, //内容的显示值为 233
- "bg": "#f6b26b", //背景为 "#f6b26b"
- "ff": 1, // 字体为 "Arial"
- "fc": "#990000", //字体颜色为 "#990000"
- "bl": 1, //字体加粗
- "it": 1, //字体斜体
- "fs": 9, //字体大小为 9px
- "cl": 1, //启用删除线
- "ht": 0, //水平居中
- "vt": 0, //垂直居中
- "tr": 2, //文字旋转 -45°
- "tb": 2, //文本自动换行
- "ps": { //批注
- "left": 92, //批注框左边距
- "top": 10, //批注框上边距
- "width": 91, //批注框宽度
- "height": 48, //批注框高度
- "value": "I am a comment", //批准内容
- "isshow": true //批注框为显示状态
- },
- "f": "=SUM(233)" //公式
-}
-```
-
-### 合并单元格配置
-
-TODO
-
-
-### 一个常规的表格数据
-
-下面展示了稍微复杂点的,但是很常用的表格数据
-
-::: details 点击查看代码
-```js
-[
- [
- {
- "v": "地区",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "地区",
- "bl": 1,
- "bg": "#f6b26b",
- "mc": {
- "r": 0,
- "c": 0,
- "rs": 2,
- "cs": 1
- },
- "ht": "0",
- "vt": "0"
- },
- {
- "v": "销售额",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "销售额",
- "bl": 1,
- "bg": "#f6b26b",
- "mc": {
- "r": 0,
- "c": 1,
- "rs": 1,
- "cs": 2
- },
- "ht": "0"
- },
- {
- "mc": {
- "r": 0,
- "c": 1
- },
- "ht": "0"
- },
- {
- "v": "日期",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "日期",
- "bl": 1,
- "bg": "#f6b26b",
- "mc": {
- "r": 0,
- "c": 3,
- "rs": 2,
- "cs": 1
- },
- "vt": "0",
- "ht": "0"
- },
- {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "备注",
- "v": "备注",
- "bg": "#ffd966",
- "cl": 1,
- "mc": {
- "r": 0,
- "c": 4,
- "rs": 2,
- "cs": 1
- },
- "ht": "0",
- "vt": "0"
- }
- ],
- [
- {
- "mc": {
- "r": 0,
- "c": 0
- },
- "ht": "0",
- "vt": "0"
- },
- {
- "m": "1月",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "v": "1月",
- "ht": "0"
- },
- {
- "m": "2月",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "v": "2月",
- "ht": "0"
- },
- {
- "mc": {
- "r": 0,
- "c": 3
- },
- "vt": "0",
- "ht": "0"
- },
- {
- "mc": {
- "r": 0,
- "c": 4
- },
- "ht": "0",
- "vt": "0"
- }
- ],
- [
- {
- "v": "四川",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "四川"
- },
- {
- "v": 234,
- "ct": {
- "fa": "General",
- "t": "n"
- },
- "m": "234",
- "it": 1,
- "fc": "#660000",
- "vt": "0"
- },
- {
- "v": 234,
- "ct": {
- "fa": "General",
- "t": "n"
- },
- "m": "234",
- "it": 1,
- "fc": "#660000",
- "vt": "0"
- },
- {
- "v": 44056,
- "ct": {
- "fa": "yyyy-MM-dd",
- "t": "d"
- },
- "m": "2020-08-13",
- "ht": "0"
- },
- {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "无",
- "v": "无",
- "ht": "1",
- "tb": "0",
- "tr": "0"
- }
- ],
- [
- {
- "v": "山东",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "山东"
- },
- {
- "v": 345,
- "ct": {
- "fa": "General",
- "t": "n"
- },
- "m": "345",
- "it": 1,
- "fc": "#660000",
- "vt": "0"
- },
- {
- "v": 345,
- "ct": {
- "fa": "General",
- "t": "n"
- },
- "m": "345",
- "it": 1,
- "fc": "#660000",
- "vt": "0"
- },
- {
- "v": 44056,
- "ct": {
- "fa": "yyyy-MM-dd",
- "t": "d"
- },
- "m": "2020-08-13",
- "ht": "0"
- },
- {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "无",
- "v": "无",
- "ht": "1",
- "tb": "0",
- "tr": "0"
- }
- ],
- [
- {
- "v": "江苏",
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "江苏"
- },
- {
- "v": 543,
- "ct": {
- "fa": "General",
- "t": "n"
- },
- "m": "543",
- "it": 1,
- "fc": "#660000",
- "vt": "0"
- },
- {
- "v": 543,
- "ct": {
- "fa": "General",
- "t": "n"
- },
- "m": "543",
- "it": 1,
- "fc": "#660000",
- "vt": "0"
- },
- {
- "v": 44056,
- "ct": {
- "fa": "yyyy-MM-dd",
- "t": "d"
- },
- "m": "2020-08-13",
- "ht": "0"
- },
- {
- "ct": {
- "fa": "General",
- "t": "g"
- },
- "m": "无",
- "v": "无",
- "ht": "1",
- "tb": "0",
- "tr": "0"
- }
- ]
-]
-```
-:::
-
-## 单元格属性表
+单元格对象包含以下单元格属性
@@ -347,7 +18,10 @@ TODO
ct |
celltype |
单元格值格式:文本、时间等 |
- 单元格格式 |
+ {
+ "fa": "General",
+ "t": "g"
+ } 单元格值格式 |
|
@@ -417,7 +91,7 @@ TODO
mc |
mergecell |
合并单元格 |
- { rs: 10, cs:5 } 表示从此cell开始到10行5列的cell进行合并。 |
+ 主单元格{ r:0, c:0, rs: 2, cs:2 },辅单元格{ r:0, c:0 },合并单元格案例 |
Merge |
@@ -475,13 +149,193 @@ TODO
+一个规范的单元格对象如下:
+
+```json
+{
+ "ct": { //单元格值格式
+ "fa": "General", //格式名称为自动格式
+ "t": "n" //格式类型为数字类型
+ },
+ "v": 233, //内容的原始值为 233
+ "m": 233, //内容的显示值为 233
+ "bg": "#f6b26b", //背景为 "#f6b26b"
+ "ff": 1, // 字体为 "Arial"
+ "fc": "#990000", //字体颜色为 "#990000"
+ "bl": 1, //字体加粗
+ "it": 1, //字体斜体
+ "fs": 9, //字体大小为 9px
+ "cl": 1, //启用删除线
+ "ht": 0, //水平居中
+ "vt": 0, //垂直居中
+ "tr": 2, //文字旋转 -45°
+ "tb": 2, //文本自动换行
+ "ps": { //批注
+ "left": 92, //批注框左边距
+ "top": 10, //批注框上边距
+ "width": 91, //批注框宽度
+ "height": 48, //批注框高度
+ "value": "I am a comment", //批准内容
+ "isshow": true //批注框为显示状态
+ },
+ "f": "=SUM(233)" //单元格是一个求和公式
+}
+```
+
+### 为什么会有原始值 `v` 和显示值 `m` 的区分?
+
+Luckysheet在存储数字类型的内容时,支持多种格式转换,所以需要保留原始值来做更多处理,比如同样一个数字`1`,设置成百分比格式就是`"100%"`,设置成两位小数数字就是`"1.00"`,
+
+还有一个原因是日期和时间格式的内容原始值会存储为一个数字,默认情况下,Luckysheet把`1900-1-1 0:00:00`存储为`1`,把`1900-1-1 0:00:00`以后的每一个时刻存储为该时刻与`1900-1-1 0:00:00`这个时刻的差值(以天为单位)。比如`44127`就表示`2020-10-23`这一天。
+
+以下是特殊格式的例子:
+
+百分比 `100%`
+```json
+{
+ "ct": {
+ "fa": "0%",
+ "t": "n"
+ },
+ "v": 1,
+ "m": "100%"
+}
+```
+
+小数 `1.00`
+```json
+{
+ "ct": {
+ "fa": "##0.00",
+ "t": "n"
+ },
+ "v": 1,
+ "m": "1.00"
+}
+```
+
+日期 `2020-10-23`
+```json
+{
+ "ct": {
+ "fa": "yyyy-MM-dd",
+ "t": "d"
+ },
+ "v": 44127,
+ "m": "2020-10-23"
+}
+```
+
+## 合并单元格
+
+设置一个合并单元格,需要处理两个地方,一是单元格对象中设置`mc`属性,二是在`config`中设置`merge`。
+
+比如,将"A1:B2"单元格合并为一个单元格
+
+- 第一步:先设置四个单元格的参数
+ ```json
+ [
+ [{
+ "m": "merge cell",
+ "ct": {
+ "fa": "General",
+ "t": "g"
+ },
+ "v": "merge cell",
+ "mc": { //合并单元格必备属性
+ "r": 0, //主单元格的行号
+ "c": 0, //主单元格的列号
+ "rs": 2, //合并单元格占的行数
+ "cs": 2 //合并单元格占的列数
+ }
+ }, {
+ "mc": {
+ "r": 0, //主单元格的行号
+ "c": 0, //主单元格的列号
+ }
+ }],
+ [{
+ "mc": {
+ "r": 0, //主单元格的行号
+ "c": 0, //主单元格的列号
+ }
+ }, {
+ "mc": {
+ "r": 0, //主单元格的行号
+ "c": 0, //主单元格的列号
+ }
+ }]
+ ]
+ ```
+
+ 合并单元格的关键属性是`mc`,主单元格是选区范围中左上角的单元格,包含4个属性 r/c/rs/cs ,分别表示 row/column/rowspan/columnspan,在这里,就表示从主单元格A1(row 0 column 0)开始到右边2行下方2列的单元格进行合并,选区范围中的其他单元格则只需要设置主单元格位置即可。
+
+- 第二步:再设置`config.merge`
+ ```json
+ {
+ "0_0": {
+ "r": 0,
+ "c": 0,
+ "rs": 2,
+ "cs": 2
+ }
+ }
+ ```
+ 对象中的key为 `r + '_' + c` 的拼接值,value同主单元格的`mc`设置: r:行数,c:列数,rs:合并的行数,cs:合并的列数
+
+> merge 详细参考:[表格数据config](/zh/guide/data.html#config)
+
+## 含边框单元格
+
+单元格的边框设置与合并单元格类似,需要在`config`中设置`borderInfo`,区别在于不需要设置单元格对象。
+加入
+
+比如,将"A1"单元格设置一个黑色细实线的全部边框
+
+设置`config.borderInfo`为
+```json
+{
+ "rangeType": "range",
+ "borderType": "border-all",
+ "color": "#000",
+ "style": "1",
+ "range": [
+ {
+ "row": [ 0, 0 ],
+ "column": [0, 0]
+ }
+ ]
+}
+```
+而其单元格对象不需要增加设置,如下只是基础的内容和格式设置
+```json
+[
+ [
+ {
+ "m": "borderCell",
+ "ct": {
+ "fa": "General",
+ "t": "g"
+ },
+ "v": "borderCell"
+ }
+ ]
+]
+```
+
+> borderInfo 详细参考:[表格数据config](/zh/guide/data.html#config)
+
+## 简化的单元格数据
+
+特别强调的是,表格初始化的时候,采用的是`r/c/v`对象组成的一维数组格式,其中`v`的值一般是设置为单元格对象。为了节约后台的存储空间,`v`的值支持简写格式,直接写为一个字符串即可,渲染进Luckysheet后自动识别为自动格式即,`"ct": { "fa": "General", "t": "n" }`
+
+以下为初始化3个单元格信息,第三个单元格即为简写格式:
-以下为3个单元格存储:
```json
[
{
- "r": 10,
- "c": 11,
+ "r": 0,
+ "c": 0,
"v": {
"f": "=MAX(A7:A9)",
"ct": {
@@ -496,24 +350,26 @@ TODO
"r": 0,
"c": 1,
"v": {
- "v": 12,
"f": "=SUM(A2)",
- "bg": "#fff000"
+ "bg": "#fff000",
+ "v": 12,
+ "m": "12"
}
},
{
- "r": 10,
- "c": 11,
- "v": "值2"
+ "r": 0,
+ "c": 2,
+ "v": "value 2"
}
]
```
+> 了解 [celldata的使用](/zh/guide/data.html#celldata)
-## 单元格格式
+## 单元格值格式
-参考[Aspose.Cells](https://docs.aspose.com/display/cellsnet/List+of+Supported+Number+Formats#ListofSupportedNumberFormats-Aspose.Cells)
+值格式即为单元格对象中 `ct` 的设置,
-格式设置为:
+如下为自动格式的单元格
```json
{
@@ -531,7 +387,9 @@ TODO
|fa|Format格式的定义串| 如"General"|
|t|Type类型|如"g"|
-可选择的设置如下:
+
+### 可选择的设置如下
+
| 格式 | ct.fa | ct.t | m 值示例 |备注 |
|----------|----------|-------------------------|------------------------- |------------------------- |
| 自动 | General | g/n | Luckysheet |自动格式,也是默认的格式;单元格内容为数字时,`m`的值为`'n'`|
@@ -739,5 +597,4 @@ TODO
| 货币:智利比索 | "$" 0.00 | n | $ 123.00 ||
| 货币:中非金融合作法郎 | "FCFA" 0.00 | n | FCFA 123.00 ||
-
-注意: 导入/导出只用考虑用户看到的数据样式,例如excel中处理日期格式的方式为把日期统一转换为数字:42736 代表 2017-1-1
\ No newline at end of file
+以上配置参考了[Aspose.Cells](https://docs.aspose.com/display/cellsnet/List+of+Supported+Number+Formats#ListofSupportedNumberFormats-Aspose.Cells)
\ No newline at end of file
diff --git a/docs/zh/guide/config.md b/docs/zh/guide/config.md
index e49d310..dded6cd 100644
--- a/docs/zh/guide/config.md
+++ b/docs/zh/guide/config.md
@@ -1,225 +1,273 @@
-# 基本配置
-
-## container
+# 整体配置
+
+## 基础结构
+
+初始化表格时,可以设置一个对象配置串`options`来自定义配置Luckysheet表格。
+
+如下是一个简洁的配置案例:
+
+```js
+// 配置项
+const options = {
+ container: 'luckysheet', // 设定DOM容器的id
+ title: 'Luckysheet Demo', // 设定表格名称
+ lang: 'zh' // 设定表格语言
+
+ // 更多其他设置...
+}
+
+// 初始化表格
+luckysheet.create(options)
+```
+
+这里的`options`配置项会作用于整个表格,特别的,单个sheet的配置则需要在`options.data`数组中,分别设置对应更详细的参数,参考[工作表配置](/zh/guide/sheet.html)
+
+## 配置项
+
+以下为所有支持的设置参数
+
+- [container](#container)
+- [title](#title)
+- [lang](#lang)
+- [gridKey](#gridKey)
+- [loadUrl](#loadUrl)
+- [loadSheetUrl](#loadSheetUrl)
+- [allowUpdate](#allowUpdate)
+- [updateUrl](#updateUrl)
+- [updateImageUrl](#updateImageUrl)
+- [data](#data)
+- [plugins](#plugins)
+- [column](#column)
+- [row](#row)
+- [autoFormatw](#autoFormatw)
+- [accuracy](#accuracy)
+- [allowCopy](#allowCopy)
+- [showtoolbar](#showtoolbar)
+- [showinfobar](#showinfobar)
+- [showsheetbar](#showsheetbar)
+- [showstatisticBar](#showstatisticBar)
+- [allowEdit](#allowEdit)
+- [enableAddRow](#enableAddRow)
+- [enableAddCol](#enableAddCol)
+- [userInfo](#userInfo)
+- [userMenuItem](#userMenuItem)
+- [myFolderUrl](#myFolderUrl)
+- [devicePixelRatio](#devicePixelRatio)
+- [functionButton](#functionButton)
+- [showConfigWindowResize](#showConfigWindowResize)
+- [enablePage](#enablePage)
+- [fullscreenmode](#fullscreenmode)
+- [beforeCreateDom](#beforeCreateDom)
+- [fireMousedown](#fireMousedown)
+- [forceCalculation](#forceCalculation)
+
+### container
- 类型:String
- 默认值:"luckysheet"
- 作用:容器的ID
------------
-## title
+### title
- 类型:String
- 默认值:"Luckysheet Demo"
- 作用:表格的名称
------------
-## lang
+### lang
- 类型:String
- 默认值:"en"
-- 作用:国际化设置,允许设置表格的语言,暂时支持中文("zh")和英文("en")
+- 作用:国际化设置,允许设置表格的语言,支持中文("zh")和英文("en")
------------
-## column
-- 类型:Number
-- 默认值:60
-- 作用:空表格默认的列数量
+### gridKey
+- 类型:String
+- 默认值:""
+- 作用:表格唯一标识符
------------
-## row
-- 类型:Number
-- 默认值:84
-- 作用:空表格默认的行数据量
+### loadUrl
+- 类型:String
+- 默认值:""
+- 作用:配置`loadUrl`的地址,Luckysheet会通过ajax请求整个表格数据,默认载入status为1的sheet数据中的所有`celldata`,其余的sheet载入除`celldata`字段外的所有字段
+
+------------
+### loadSheetUrl
+- 类型:String
+- 默认值:""
+- 作用:配置`loadSheetUrl`的地址,参数为`gridKey`(表格主键) 和 `index`(sheet主键合集,格式为`[1,2,3]`),返回的数据为sheet的`celldata`字段数据集合
+
+------------
+### allowUpdate
+- 类型:Boolean
+- 默认值:false
+- 作用:是否允许操作表格后的后台更新,与`updateUrl`配合使用
+
+------------
+### updateUrl
+- 类型:String
+- 默认值:""
+- 作用:操作表格后的后台更新地址,在`allowUpdate`为`true`时才会有效
+
+------------
+### updateImageUrl
+- 类型:String
+- 默认值:""
+- 作用:缩略图的更新地址
------------
-## data
+### data
- 类型:Array
- 默认值:[{ "name": "Sheet1", color: "", "status": "1", "order": "0", "data": [], "config": {}, "index":0 }, { "name": "Sheet2", color: "", "status": "0", "order": "1", "data": [], "config": {}, "index":1 }, { "name": "Sheet3", color: "", "status": "0", "order": "2", "data": [], "config": {}, "index":2 }]
-- 作用:客户端sheet数据`[shee1, sheet2, sheet3]`
+- 作用:当未配置`loadUrl`和`loadSheetUrl`的时候,需要手动配置传入整个客户端所有sheet数据`[shee1, sheet2, sheet3]`,详细参数设置参见[工作表配置](/zh/guide/sheet.html)
------------
-## plugins
+### plugins
- 类型:Array
- 默认值:[]
-- 作用:配置插件,支持 图表:"chart"
+- 作用:配置插件,支持图表:"chart"
------------
-## fullscreenmode
-- 类型:Boolean
-- 默认值:true
-- 作用:是否全屏模式。非全屏模式下,标记框不会强制选中
+### column
+- 类型:Number
+- 默认值:60
+- 作用:空表格默认的列数量
------------
-## autoFormatw
+### row
+- 类型:Number
+- 默认值:84
+- 作用:空表格默认的行数据量
+
+------------
+### autoFormatw
- 类型:Boolean
- 默认值:false
- 作用:自动格式化超过4位数的数字为‘亿万格式’,例:true or "true" or "TRUE"
------------
-## accuracy
+### accuracy
- 类型:Number
- 默认值:undefined
- 作用:设置精度,小数点后的位数。传参数为数字或数字字符串,例: "0" 或 0
------------
-## allowCopy
+### allowCopy
- 类型:Boolean
- 默认值:true
- 作用:是否允许拷贝
------------
-## showtoolbar
+### showtoolbar
- 类型:Boolean
- 默认值:true
- 作用:是否第二列显示工具栏
------------
-## showinfobar
+### showinfobar
- 类型:Boolean
- 默认值:true
- 作用:是否显示顶部名称栏
------------
-## showsheetbar
+### showsheetbar
- 类型:Boolean
- 默认值:true
- 作用:是否显示底部表格名称区域
------------
-
-## showstatisticBar
+### showstatisticBar
- 类型:Boolean
- 默认值:true
- 作用:是否显示底部计数栏
------------
-## allowEdit
+### allowEdit
- 类型:Boolean
- 默认值:true
- 作用:是否允许前台编辑
------------
-## enableAddRow
+### enableAddRow
- 类型:Boolean
- 默认值:true
- 作用:允许增加行
------------
-## enableAddCol
+### enableAddCol
- 类型:Boolean
- 默认值:true
- 作用:允许增加列
------------
-## pointEdit
-- 类型:Boolean
-- 默认值:false
-- 作用:是否是编辑器插入表格模式
-
-------------
-## pointEditUpdate
-- 类型:Function
-- 默认值:null
-- 作用:编辑器表格更新函数
-
-------------
-## pointEditZoom
-- 类型:Number
-- 默认值:1
-- 作用:编辑器表格编辑时缩放比例
-
-------------
-## userInfo
+### userInfo
- 类型:String
- 默认值:`' rabbit'`
- 作用:右上角的用户信息展示样式
------------
-## userMenuItem
+### userMenuItem
- 类型:Array
- 默认值:`[{url:"www.baidu.com", "icon":'', "name":"我的表格"}, {url:"www.baidu.com", "icon":'', "name":"退出登陆"}]`
- 作用:点击右上角的用户信息弹出的菜单
------------
-## myFolderUrl
+### myFolderUrl
- 类型:String
- 默认值:"www.baidu.com"
- 作用:左上角<返回按钮的链接
------------
-## devicePixelRatio
+### devicePixelRatio
- 类型:Number
- 默认值:window.devicePixelRatio
- 作用:设备比例,比例越大表格分辨率越高
------------
-## gridKey
-- 类型:String
-- 默认值:""
-- 作用:表格唯一标识符
-
-------------
-## allowUpdate
-- 类型:Boolean
-- 默认值:false
-- 作用:是否允许操作表格后的后台更新,与`updateUrl`配合使用
-
-------------
-## loadUrl
-- 类型:String
-- 默认值:""
-- 作用:配置`loadUrl`的地址,Luckysheet会通过ajax请求表格数据,默认载入status为1的sheet数据中的所有`data`,其余的sheet载入除`data`字段外的所有字段
-
-------------
-## loadSheetUrl
-- 类型:String
-- 默认值:""
-- 作用:配置`loadSheetUrl`的地址,参数为`gridKey`(表格主键) 和 `index`(sheet主键合集,格式为`[1,2,3]`),返回的数据为sheet的`data`字段数据集合
-
-------------
-## updateUrl
-- 类型:String
-- 默认值:""
-- 作用:操作表格后的后台更新地址,在`allowUpdate`为`true`时才会有效
-
-------------
-## updateImageUrl
-- 类型:String
-- 默认值:""
-- 作用:缩略图的更新地址
-
-------------
-## functionButton
+### functionButton
- 类型:String
- 默认值:""
- 作用:右上角功能按钮,例如`' '`
------------
-## showConfigWindowResize
+### showConfigWindowResize
- 类型:Boolean
- 默认值:true
- 作用:图表或数据透视表的配置会在右侧弹出,设置弹出后表格是否会自动缩进
------------
-## enablePage
+### enablePage
- 类型:Boolean
- 默认值:false
- 作用:允许加载下一页
------------
-## chartConfigChange
-- 类型:Function
-- 默认值:null
-- 作用:图表插件中图表更新触发的自定义方法
+### fullscreenmode
+- 类型:Boolean
+- 默认值:true
+- 作用:是否全屏模式。非全屏模式下,标记框不会强制选中
------------
-## beforeCreateDom
+### beforeCreateDom
- 类型:Function
- 默认值:null
- 作用:表格创建之前自定义方法
------------
-## fireMousedown
+### fireMousedown
- 类型:Function
- 默认值:null
- 作用:单元格数据下钻自定义方法
+------------
+### forceCalculation
+- 类型:Boolean
+- 默认值:false
+- 作用:强制刷新公式。
+
+ 默认情况下,为提高加载性能,表格初始化的时候,含有公式的单元格会默认直接取得`v`和`m`作为数据结果,而不做实时计算。
+
+ 如果公式关联到的单元格数据已经变化,或者公式所在的单元格数据结果改变了,则会导致关联单元格应该计算得出的结果和实际显示结果不一致,这是就需要开启公式刷新,保证数据实时计算的准确性。
+
+ ⚠️提醒,公式较多时会有性能问题,慎用!
+
------------
\ No newline at end of file
diff --git a/docs/zh/guide/data.md b/docs/zh/guide/data.md
index 9f836b0..edd2219 100644
--- a/docs/zh/guide/data.md
+++ b/docs/zh/guide/data.md
@@ -1,768 +1,14 @@
# 表格数据
-## 获取表格数据
+存储了sheet中所有单元格中的值,Luckysheet在建立的时候会根据 `luckysheetfile[i].row` 和 `luckysheetfile[i].column` 的行列数量大小新建一个表格data,然后再使用 `data[r][c]=v` 的方式填充表格数据,空数据单元格以null表示。
+
+## 初始化表格数据
- **配置**:
配置 `updateUrl` 的地址,Luckysheet会通过ajax请求表格数据,默认载入status为1的sheet数据中的所有`data`,其余的sheet载入除`data`字段外的所有字段。
- **格式**:
- 通过全局方法 `luckysheet.getluckysheetfile()`可以获取所有工作表的配置信息。
-
- luckysheetfile示例如下:
- ```json
- [
- {
- "name": "Cell", //工作表名称
- "color": "", //工作表颜色
- "index": "0", //工作表索引
- "status": "1", //激活状态
- "order": "0", //工作表的顺序
- "hide": 0,//是否隐藏
- "row": 36, //行数
- "column": 18, //列数
- "config": {
- "merge":{}, //合并单元格
- "rowlen":{}, //表格行高
- "columnlen":{}, //表格列宽
- "rowhidden":{}, //隐藏行
- "columnhidden":{}, //隐藏列
- "borderInfo":{}, //边框
- },
- "celldata": [], //初始化使用的单元格数据
- "data": [], //更新和存储使用的单元格数据
- "scrollLeft": 0, //左右滚动条位置
- "scrollTop": 315, //上下滚动条位置
- "luckysheet_select_save": [], //选中的区域
- "luckysheet_conditionformat_save": {},//条件格式
- "calcChain": [],//公式链
- "isPivotTable":false,//是否数据透视表
- "pivotTable":{},//数据透视表设置
- "filter_select": null,//筛选范围
- "filter": null,//筛选配置
- "luckysheet_alternateformat_save": [], //交替颜色
- "luckysheet_alternateformat_save_modelCustom": [], //自定义交替颜色
- "chart": [], //图表配置
- "visibledatarow": [], //所有行的位置
- "visibledatacolumn": [], //所有列的位置
- "ch_width": 2322, //工作表区域的宽度
- "rh_height": 949, //工作表区域的高度
- },
- {
- "name": "Sheet2",
- "color": "",
- "status": "0",
- "order": "1",
- "data": [],
- "config": {},
- "index": 1
- },
- {
- "name": "Sheet3",
- "color": "",
- "status": "0",
- "order": "2",
- "data": [],
- "config": {},
- "index": 2
- }
- ]
- ```
-- **说明**:
-
- ## name
- - 类型:String
- - 默认值:"Sheet1"
- - 作用:工作表名称
-
- ------------
- ## color
- - 类型:String
- - 默认值:"##f20e0e"
- - 作用:工作表颜色,工作表名称下方会有一条底部边框
-
- ------------
- ## index
- - 类型:Number
- - 默认值:0
- - 作用:工作表索引,从0开始
-
- ------------
- ## status
- - 类型:Number
- - 默认值:1
- - 作用: 激活状态,仅有一个激活状态的工作表,其他工作表为 0
-
- ------------
- ## order
- - 类型:Number
- - 默认值:0
- - 作用: 工作表的索引,新增工作表时会递增,从0开始
-
- ------------
- ## hide
- - 类型:Number
- - 默认值:0
- - 作用: 是否隐藏,`0`为不隐藏,`1`为隐藏
-
- ------------
- ## row
- - 类型:Number
- - 默认值:36
- - 作用: 单元格行数
-
- ------------
- ## column
- - 类型:Number
- - 默认值:18
- - 作用: 单元格列数
-
- ------------
- ## scrollLeft
- - 类型:Number
- - 默认值:0
- - 作用: 左右滚动条位置
-
- ------------
- ## scrollTop
- - 类型:Number
- - 默认值:0
- - 作用: 上下滚动条位置
-
- ------------
- ## config
- - 类型:Object
- - 默认值:{}
- - 作用:表格行高、列宽、合并单元格、边框、隐藏行等设置
-
- ### config.merge
- - 类型:Object
- - 默认值:{}
- - 作用:合并单元格设置
- - 示例:
- ```js
- {
- "13_5": {
- "r": 13,
- "c": 5,
- "rs": 3,
- "cs": 1
- },
- "13_7": {
- "r": 13,
- "c": 7,
- "rs": 3,
- "cs": 2
- },
- "14_2": {
- "r": 14,
- "c": 2,
- "rs": 1,
- "cs": 2
- }
- }
- ```
- 对象中的`key`为`r + '_' + c`的拼接值,`value`为左上角单元格信息: r:行数,c:列数,rs:合并的行数,cs:合并的列数
-
- ### config.rowlen
- - 类型:Object
- - 默认值:{}
- - 作用:每个单元格的行高
- - 示例:
- ```js
- "rowlen": {
- "0": 20,
- "1": 20,
- "2": 20
- }
- ```
-
- ### config.columnlen
- - 类型:Object
- - 默认值:{}
- - 作用:每个单元格的列宽
- - 示例:
- ```js
- "columnlen": {
- "0": 97,
- "1": 115,
- "2": 128
- }
- ```
-
- ### config.rowhidden
- - 类型:Object
- - 默认值:{}
- - 作用:隐藏行信息,格式为:`rowhidden[行数]: 0`,
-
- `key`指定行数即可,`value`总是为`0`
- - 示例:
- ```js
- "rowhidden": {
- "30": 0,
- "31": 0
- }
- ```
-
- ### config.columnhidden
- - 类型:Object
- - 默认值:{}
- - 作用:隐藏列
- 格式为:`columnhidden[列数]: 0`,
-
- `key`指定列数即可,`value`总是为`0`
- - 示例:
- ```js
- "columnhidden": {
- "30": 0,
- "31": 0
- }
- ```
-
- ### config.borderInfo
- - 类型:Object
- - 默认值:{}
- - 作用:单元格的边框信息,示例:
- ```js
- "borderInfo": [{
- "rangeType": "cell",
- "value": {
- "row_index": 3,
- "col_index": 3,
- "l": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- },
- "r": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- },
- "t": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- },
- "b": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- }
- }
- },
- {
- "rangeType": "range",
- "borderType": "border-all",
- "style": "3",
- "color": "#0000ff",
- "range": [{
- "row": [7, 8],
- "column": [2, 3]
- }]
- }, {
- "rangeType": "range",
- "borderType": "border-inside",
- "style": "3",
- "color": "#0000ff",
- "range": [{
- "row": [7, 8],
- "column": [8, 9]
- }]
- }]
- ```
- 范围类型分单个单元格和选区两种情况
- 1. 选区 `rangeType: "range"`
-
- + 边框类型 `borderType:"border-left" | "border-right" | "border-top" | "border-bottom" | "border-all" | "border-outside" | "border-inside" | "border-horizontal" | "border-vertical" | "border-none"`,
- + 边框粗细 `style: 1 Thin | 2 Hair | 3 Dotted | 4 Dashed | 5 DashDot | 6 DashDotDot | 7 Double | 8 Medium | 9 MediumDashed | 10 MediumDashDot | 11 MediumDashDotDot | 12 SlantedDashDot | 13 Thick`
- + 边框颜色 `color: 16进制颜色值`
- + 选区范围 `range: 行列信息数组`
-
- 2. 单个单元格 `rangeType:"cell"`
- + 单元格的行数和列数索引 `value.row_index: 数字,value.col_index: 数字`
- + 四个边框对象 `value.l:左边框,value.r:右边框,value.t:上边框,value.b:下边框`
- + 边框粗细 `value.l.style: 1 Thin | 2 Hair | 3 Dotted | 4 Dashed | 5 DashDot | 6 DashDotDot | 7 Double | 8 Medium | 9 MediumDashed | 10 MediumDashDot | 11 MediumDashDotDot | 12 SlantedDashDot | 13 Thick`
- + 边框颜色 `value.l.color: 16进制颜色值`
-
- - 示例
- + ```js
- {
- "rangeType": "range",
- "borderType": "border-all",
- "style": "3",
- "color": "#0000ff",
- "range": [{
- "row": [7, 8],
- "column": [2, 3]
- }]
- }
- ```
- 表示设置范围为`{"row": [7, 8],"column": [2, 3]}`的选区,类型为所有边框,边框粗细为`Dotted`,颜色为`"#0000ff"`
-
- + ```js
- {
- "rangeType": "cell",
- "value": {
- "row_index": 3,
- "col_index": 3,
- "l": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- },
- "r": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- },
- "t": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- },
- "b": {
- "style": 10,
- "color": "rgb(255, 0, 0)"
- }
- }
- }
- ```
- 表示设置单元格`"D4"`,上边框/下边框/左边框/右边框都是边框粗细为`"MediumDashDot"`,颜色为`"rgb(255, 0, 0)"`
-
- ------------
- ## celldata
- - 类型:Array
- - 默认值:[]
- - 作用: 原始单元格数据集,是一个包含`{r:0,c:0,v:{m:"value",v:"value",ct: {fa: "General", t: "g"}}}`格式单元格信息的一维数组,只在初始化的时候使用,使用celldata初始化完表格后,数据转换为luckysheetfile中的同级字段data,如`luckysheetfile[0].data`,后续操作表格的数据更新,会更新到这个data字段中,celldata不再使用。
- - 示例:
- ```js
- [{
- "r": 0,
- "c": 0,
- "v": {
- ct: {fa: "General", t: "g"},
- m:"value1",
- v:"value1"
- }
- }, {
- "r": 0,
- "c": 1,
- "v": {
- ct: {fa: "General", t: "g"},
- m:"value2",
- v:"value2"
- }
- }]
- ```
-
- ------------
- ## luckysheet_select_save
- - 类型:Array
- - 默认值:[]
- - 作用: 选中的区域,支持多选,是一个包含多个选区对象的一维数组,示例:
- ```js
- [
- {
- "left": 0,
- "width": 97,
- "top": 0,
- "height": 20,
- "left_move": 0,
- "width_move": 97,
- "top_move": 0,
- "height_move": 41,
- "row": [ 0, 1 ],
- "column": [ 0, 0 ],
- "row_focus": 0,
- "column_focus": 0
- },
- {
- "left": 98,
- "width": 73,
- "top": 63,
- "height": 20,
- "left_move": 98,
- "width_move": 189,
- "top_move": 63,
- "height_move": 41,
- "row": [ 3, 4 ],
- "column": [ 1, 2 ],
- "row_focus": 3,
- "column_focus": 1
- },
- {
- "left": 288,
- "width": 128,
- "top": 21,
- "height": 20,
- "left_move": 288,
- "width_move": 128,
- "top_move": 21,
- "height_move": 62,
- "row": [ 1, 3 ],
- "column": [ 3, 3 ],
- "row_focus": 1,
- "column_focus": 3
- }
- ]
- ```
-
- ------------
- ## luckysheet_conditionformat_save
- - 类型:Array
- - 默认值:[]
- - 作用: 条件格式配置信息,包含多个条件格式配置对象的一维数组,
-
- type: "default": 突出显示单元格规则和项目选区规则,
-
- "dataBar":数据条,
-
- "icons":图标集,
-
- "colorGradation": 色阶
-
- 示例:
- ```js
- [
- {
- "type": "default",
- "cellrange": [
- {
- "row": [ 2, 7 ],
- "column": [ 2, 2 ]
- }
- ],
- "format": {
- "textColor": "#000000",
- "cellColor": "#ff0000"
- },
- "conditionName": "betweenness",
- "conditionRange": [
- {
- "row": [ 4, 4 ],
- "column": [ 2, 2 ]
- },
- {
- "row": [ 6, 6 ],
- "column": [ 2, 2 ]
- }
- ],
- "conditionValue": [ 2, 4
- ]
- },
- {
- "type": "dataBar",
- "cellrange": [
- {
- "row": [ 10, 15 ],
- "column": [ 10, 11 ]
- }
- ],
- "format": [
- "#6aa84f",
- "#ffffff"
- ]
- },
- {
- "type": "icons",
- "cellrange": [
- {
- "row": [ 19, 23 ],
- "column": [ 2, 2 ]
- }
- ],
- "format": {
- "len": "3",
- "leftMin": "0",
- "top": "0"
- }
- },
- {
- "type": "colorGradation",
- "cellrange": [
- {
- "left": 422,
- "width": 100,
- "top": 210,
- "height": 20,
- "left_move": 422,
- "width_move": 100,
- "top_move": 210,
- "height_move": 125,
- "row": [ 10, 15 ],
- "column": [ 6, 6 ],
- "row_focus": 10,
- "column_focus": 6
- }
- ],
- "format": [
- "rgb(99, 190, 123)",
- "rgb(255, 235, 132)",
- "rgb(248, 105, 107)"
- ]
- }
- ]
- ```
-
- ------------
- ## calcChain
- - 类型:Array
- - 默认值:[]
- - 作用: 公式链,用于公式所链接的单元格改变后,所有引用此单元格的公式都会联动刷新,示例:
- ```js
- [{
- "r": 6,
- "c": 3,
- "index": 1,
- "func": [true, 23.75, "=AVERAGE(D3:D6)"],
- "color": "w",
- "parent": null,
- "chidren": {},
- "times": 0
- }, {
- "r": 7,
- "c": 3,
- "index": 1,
- "func": [true, 30, "=MAX(D3:D6)"],
- "color": "w",
- "parent": null,
- "chidren": {},
- "times": 0
- }]
- ```
-
- ------------
- ## isPivotTable
- - 类型:Boolean
- - 默认值:false
- - 作用: 是否数据透视表
-
- ------------
- ## pivotTable
- - 类型:Object
- - 默认值:{}
- - 作用: 数据透视表设置,示例:
- ```js
- {
- "pivot_select_save": {
- "left": 0,
- "width": 73,
- "top": 0,
- "height": 19,
- "left_move": 0,
- "width_move": 369,
- "top_move": 0,
- "height_move": 259,
- "row": [0, 12],
- "column": [0, 4],
- "row_focus": 0,
- "column_focus": 0
- },
- "pivotDataSheetIndex": 6, //The sheet index where the source data is located
- "column": [{
- "index": 3,
- "name": "subject",
- "fullname": "subject"
- }],
- "row": [{
- "index": 1,
- "name": "student",
- "fullname": "student"
- }],
- "filter": [],
- "values": [{
- "index": 4,
- "name": "score",
- "fullname": "count:score",
- "sumtype": "COUNTA",
- "nameindex": 0
- }],
- "showType": "column",
- "pivotDatas": [
- ["count:score", "science", "mathematics", "foreign language", "English", "total"],
- ["Alex", 1, 1, 1, 1, 4],
- ["Joy", 1, 1, 1, 1, 4],
- ["Tim", 1, 1, 1, 1, 4],
- ["total", 3, 3, 3, 3, 12]
- ],
- "drawPivotTable": false,
- "pivotTableBoundary": [5, 6]
- }
- ```
-
- ------------
- ## filter_select
- - 类型:Object
- - 默认值:{}
- - 作用: 筛选范围,一个选区,一个sheet只有一个筛选范围,类似`luckysheet_select_save`示例:
- ```js
- {
- "left": 74,
- "width": 73,
- "top": 40,
- "height": 19,
- "left_move": 74,
- "width_move": 221,
- "top_move": 40,
- "height_move": 99,
- "row": [
- 2,
- 6
- ],
- "column": [
- 1,
- 3
- ],
- "row_focus": 2,
- "column_focus": 1
- }
- ```
-
- ------------
- ## filter
- - 类型:Object
- - 默认值:{}
- - 作用: 筛选的具体设置,示例:
- ```js
- {
- "0": {
- "caljs": {},
- "rowhidden": {
- "3": 0,
- "4": 0
- },
- "optionstate": true,
- "str": 2,
- "edr": 6,
- "cindex": 1,
- "stc": 1,
- "edc": 3
- },
- "1": {
- "caljs": {},
- "rowhidden": {
- "6": 0
- },
- "optionstate": true,
- "str": 2,
- "edr": 6,
- "cindex": 2,
- "stc": 1,
- "edc": 3
- }
- }
- ```
-
- ------------
- ## luckysheet_alternateformat_save
- - 类型:Array
- - 默认值:[]
- - 作用: 交替颜色配置,示例:
- ```js
- [{
- "cellrange": {
- "row": [1, 6],
- "column": [1, 5]
- },
- "format": {
- "head": {
- "fc": "#000",
- "bc": "#5ed593"
- },
- "one": {
- "fc": "#000",
- "bc": "#ffffff"
- },
- "two": {
- "fc": "#000",
- "bc": "#e5fbee"
- },
- "foot": {
- "fc": "#000",
- "bc": "#a5efcc"
- }
- },
- "hasRowHeader": false,
- "hasRowFooter": false
- }, {
- "cellrange": {
- "row": [1, 6],
- "column": [8, 12]
- },
- "format": {
- "head": {
- "fc": "#000",
- "bc": "#5599fc"
- },
- "one": {
- "fc": "#000",
- "bc": "#ffffff"
- },
- "two": {
- "fc": "#000",
- "bc": "#ecf2fe"
- },
- "foot": {
- "fc": "#000",
- "bc": "#afcbfa"
- }
- },
- "hasRowHeader": false,
- "hasRowFooter": false
- }]
- ```
-
- ------------
- ## luckysheet_alternateformat_save_modelCustom
- - 类型:Array
- - 默认值:[]
- - 作用:自定义交替颜色,包含多个自定义交替颜色的配置,示例:
- ```js
- [{
- "head": {
- "fc": "#6aa84f",
- "bc": "#ffffff"
- },
- "one": {
- "fc": "#000",
- "bc": "#ffffff"
- },
- "two": {
- "fc": "#000",
- "bc": "#e5fbee"
- },
- "foot": {
- "fc": "#000",
- "bc": "#a5efcc"
- }
- }]
- ```
-
- ------------
- ## chart
- - 类型:Array
- - 默认值:[]
- - 作用: 图表配置(开发中)
-
- ------------
- ## visibledatarow
- - 类型:Number
- - 默认值:[]
- - 作用: 所有行的位置信息,递增的行位置数据,初始化无需设置
-
- ------------
- ## visibledatacolumn
- - 类型:Number
- - 默认值:[]
- - 作用: 所有列的位置信息,递增的列位置数据,初始化无需设置
-
- ------------
- ## ch_width
- - 类型:Number
- - 默认值:2322
- - 作用: 整个工作表区域的宽度(包含边界的灰色区域),初始化无需设置
-
- ------------
- ## rh_height
- - 类型:Number
- - 默认值:2322
- - 作用: 整个工作表区域的高度(包含边界的灰色区域),初始化无需设置
-
- ------------
## 获取sheet数据
diff --git a/docs/zh/guide/operate.md b/docs/zh/guide/operate.md
index fd85f44..966fad9 100644
--- a/docs/zh/guide/operate.md
+++ b/docs/zh/guide/operate.md
@@ -6,7 +6,7 @@
通常,共享编辑(或者叫协同编辑)是需要和账户系统配合来控制权限的,开发者可以根据已有功能,配合自己的账户管理功能自行实现权限控制。
-以下为所有的支持传输到后台的操作类型。
+以下为所有的支持传输到后台的操作类型,并且以MongoDB做存储示例,讲解如何做前后端交互。
## 单元格刷新
@@ -16,7 +16,7 @@
{
"t": "v",
"i": 3,
- "v": "asdf",
+ "v": "good",
"r": 5,
"c": 7
}
@@ -28,13 +28,13 @@
| ------------ | ------------ |
|t|操作类型表示符号|
|i|当前sheet的索引值|
- |v|单元格的值,参考 [单元格属性表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/format.html#%E5%8D%95%E5%85%83%E6%A0%BC%E5%B1%9E%E6%80%A7%E8%A1%A8)|
+ |v|单元格的值,参考 [单元格属性表](/zh/guide/cell.html#基本单元格)|
|r|单元格的行号|
|c|单元格的列号|
- **后台更新**:
- 单元格更新主要是更新 `luckysheetfile[i].celldata` 参数,该参数是一个数组:
+ 前端维护luckysheetfile[i].data,而单元格更新到后台,继续维护`luckysheetfile[i].celldata` 参数,该参数是一个一维数组:
```json
[
{r:0, c:1, v: "值1"},
@@ -42,8 +42,6 @@
{r:10, c:11, v:{f:"=sum", v:"100"}}
]
```
- 存储了sheet中所有单元格中的值,Luckysheet在建立的时候会根据 `luckysheetfile[i].row` 和 `luckysheetfile[i].column` 的行列数量大小新建一个表格data,然后再使用 `data[r][c]=v` 的方式填充表格数据,空数据单元格以null表示。
-
后台在保存前台推送的数据时,首先需要把参数转换为 `{r:0, c:1:v:100}` 的格式,然后更新 `luckysheetfile[i].celldata` 字段,如果存在该单元格则更新,如果没有则添加,如果存在该单元格但是`v`为null则删除该单元格。
- **前台查看**:
diff --git a/docs/zh/guide/sheet.md b/docs/zh/guide/sheet.md
new file mode 100644
index 0000000..867be74
--- /dev/null
+++ b/docs/zh/guide/sheet.md
@@ -0,0 +1,764 @@
+# 工作表配置
+
+表格初始化配置`options`时,需要配置一个由每个工作表参数组成的一维数组,赋给`options.data`。
+
+> 表格初始化完成之后,通过全局方法[`luckysheet.getAllSheets()`](/zh/guide/api.html#getAllSheets([setting]))可以获取所有工作表的配置信息。
+
+luckysheetfile示例如下:
+```json
+[
+ {
+ "name": "Cell", //工作表名称
+ "color": "", //工作表颜色
+ "index": "0", //工作表索引
+ "status": "1", //激活状态
+ "order": "0", //工作表的顺序
+ "hide": 0,//是否隐藏
+ "row": 36, //行数
+ "column": 18, //列数
+ "config": {
+ "merge":{}, //合并单元格
+ "rowlen":{}, //表格行高
+ "columnlen":{}, //表格列宽
+ "rowhidden":{}, //隐藏行
+ "columnhidden":{}, //隐藏列
+ "borderInfo":{}, //边框
+ },
+ "celldata": [], //初始化使用的单元格数据
+ "data": [], //更新和存储使用的单元格数据
+ "scrollLeft": 0, //左右滚动条位置
+ "scrollTop": 315, //上下滚动条位置
+ "luckysheet_select_save": [], //选中的区域
+ "luckysheet_conditionformat_save": {},//条件格式
+ "calcChain": [],//公式链
+ "isPivotTable":false,//是否数据透视表
+ "pivotTable":{},//数据透视表设置
+ "filter_select": {},//筛选范围
+ "filter": null,//筛选配置
+ "luckysheet_alternateformat_save": [], //交替颜色
+ "luckysheet_alternateformat_save_modelCustom": [], //自定义交替颜色
+ "freezen": {}, //冻结行列
+ "chart": [], //图表配置
+ "visibledatarow": [], //所有行的位置
+ "visibledatacolumn": [], //所有列的位置
+ "ch_width": 2322, //工作表区域的宽度
+ "rh_height": 949, //工作表区域的高度
+ "load": "1", //已加载过此sheet的标识
+ },
+ {
+ "name": "Sheet2",
+ "color": "",
+ "status": "0",
+ "order": "1",
+ "data": [],
+ "config": {},
+ "index": 1
+ },
+ {
+ "name": "Sheet3",
+ "color": "",
+ "status": "0",
+ "order": "2",
+ "data": [],
+ "config": {},
+ "index": 2
+ }
+]
+```
+
+### name
+- 类型:String
+- 默认值:"Sheet1"
+- 作用:工作表名称
+
+------------
+### color
+- 类型:String
+- 默认值:"##f20e0e"
+- 作用:工作表颜色,工作表名称下方会有一条底部边框
+
+------------
+### index
+- 类型:Number
+- 默认值:0
+- 作用:工作表索引,从0开始
+
+------------
+### status
+- 类型:Number
+- 默认值:1
+- 作用: 激活状态,仅有一个激活状态的工作表,其他工作表为 0
+
+------------
+### order
+- 类型:Number
+- 默认值:0
+- 作用: 工作表的索引,新增工作表时会递增,从0开始
+
+------------
+### hide
+- 类型:Number
+- 默认值:0
+- 作用: 是否隐藏,`0`为不隐藏,`1`为隐藏
+
+------------
+### row
+- 类型:Number
+- 默认值:36
+- 作用: 单元格行数
+
+------------
+### column
+- 类型:Number
+- 默认值:18
+- 作用: 单元格列数
+
+------------
+### scrollLeft
+- 类型:Number
+- 默认值:0
+- 作用: 左右滚动条位置
+
+------------
+### scrollTop
+- 类型:Number
+- 默认值:0
+- 作用: 上下滚动条位置
+
+------------
+### config
+- 类型:Object
+- 默认值:{}
+- 作用:表格行高、列宽、合并单元格、边框、隐藏行等设置
+
+#### config.merge
+- 类型:Object
+- 默认值:{}
+- 作用:合并单元格设置
+- 示例:
+ ```js
+ {
+ "13_5": {
+ "r": 13,
+ "c": 5,
+ "rs": 3,
+ "cs": 1
+ },
+ "13_7": {
+ "r": 13,
+ "c": 7,
+ "rs": 3,
+ "cs": 2
+ },
+ "14_2": {
+ "r": 14,
+ "c": 2,
+ "rs": 1,
+ "cs": 2
+ }
+ }
+ ```
+对象中的`key`为`r + '_' + c`的拼接值,`value`为左上角单元格信息: r:行数,c:列数,rs:合并的行数,cs:合并的列数
+
+#### config.rowlen
+- 类型:Object
+- 默认值:{}
+- 作用:每个单元格的行高
+- 示例:
+ ```js
+ "rowlen": {
+ "0": 20,
+ "1": 20,
+ "2": 20
+ }
+ ```
+
+#### config.columnlen
+- 类型:Object
+- 默认值:{}
+- 作用:每个单元格的列宽
+- 示例:
+ ```js
+ "columnlen": {
+ "0": 97,
+ "1": 115,
+ "2": 128
+ }
+ ```
+
+#### config.rowhidden
+- 类型:Object
+- 默认值:{}
+- 作用:隐藏行信息,格式为:`rowhidden[行数]: 0`,
+
+ `key`指定行数即可,`value`总是为`0`
+- 示例:
+ ```js
+ "rowhidden": {
+ "30": 0,
+ "31": 0
+ }
+ ```
+
+#### config.columnhidden
+- 类型:Object
+- 默认值:{}
+- 作用:隐藏列
+ 格式为:`columnhidden[列数]: 0`,
+
+ `key`指定列数即可,`value`总是为`0`
+- 示例:
+ ```js
+ "columnhidden": {
+ "30": 0,
+ "31": 0
+ }
+ ```
+
+#### config.borderInfo
+- 类型:Object
+- 默认值:{}
+- 作用:单元格的边框信息,示例:
+ ```js
+ "borderInfo": [{
+ "rangeType": "cell",
+ "value": {
+ "row_index": 3,
+ "col_index": 3,
+ "l": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ },
+ "r": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ },
+ "t": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ },
+ "b": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ }
+ }
+ },
+ {
+ "rangeType": "range",
+ "borderType": "border-all",
+ "style": "3",
+ "color": "#0000ff",
+ "range": [{
+ "row": [7, 8],
+ "column": [2, 3]
+ }]
+ }, {
+ "rangeType": "range",
+ "borderType": "border-inside",
+ "style": "3",
+ "color": "#0000ff",
+ "range": [{
+ "row": [7, 8],
+ "column": [8, 9]
+ }]
+ }]
+ ```
+范围类型分单个单元格和选区两种情况
+1. 选区 `rangeType: "range"`
+
+ + 边框类型 `borderType:"border-left" | "border-right" | "border-top" | "border-bottom" | "border-all" | "border-outside" | "border-inside" | "border-horizontal" | "border-vertical" | "border-none"`,
+ + 边框粗细 `style: 1 Thin | 2 Hair | 3 Dotted | 4 Dashed | 5 DashDot | 6 DashDotDot | 7 Double | 8 Medium | 9 MediumDashed | 10 MediumDashDot | 11 MediumDashDotDot | 12 SlantedDashDot | 13 Thick`
+ + 边框颜色 `color: 16进制颜色值`
+ + 选区范围 `range: 行列信息数组`
+
+2. 单个单元格 `rangeType:"cell"`
+ + 单元格的行数和列数索引 `value.row_index: 数字,value.col_index: 数字`
+ + 四个边框对象 `value.l:左边框,value.r:右边框,value.t:上边框,value.b:下边框`
+ + 边框粗细 `value.l.style: 1 Thin | 2 Hair | 3 Dotted | 4 Dashed | 5 DashDot | 6 DashDotDot | 7 Double | 8 Medium | 9 MediumDashed | 10 MediumDashDot | 11 MediumDashDotDot | 12 SlantedDashDot | 13 Thick`
+ + 边框颜色 `value.l.color: 16进制颜色值`
+
+- 示例
+ + ```js
+ {
+ "rangeType": "range",
+ "borderType": "border-all",
+ "style": "3",
+ "color": "#0000ff",
+ "range": [{
+ "row": [7, 8],
+ "column": [2, 3]
+ }]
+ }
+ ```
+ 表示设置范围为`{"row": [7, 8],"column": [2, 3]}`的选区,类型为所有边框,边框粗细为`Dotted`,颜色为`"#0000ff"`
+
+ + ```js
+ {
+ "rangeType": "cell",
+ "value": {
+ "row_index": 3,
+ "col_index": 3,
+ "l": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ },
+ "r": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ },
+ "t": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ },
+ "b": {
+ "style": 10,
+ "color": "rgb(255, 0, 0)"
+ }
+ }
+ }
+ ```
+ 表示设置单元格`"D4"`,上边框/下边框/左边框/右边框都是边框粗细为`"MediumDashDot"`,颜色为`"rgb(255, 0, 0)"`
+
+------------
+### celldata
+- 类型:Array
+- 默认值:[]
+- 作用: 原始单元格数据集,是一个包含`{r:0,c:0,v:{m:"value",v:"value",ct: {fa: "General", t: "g"}}}`格式单元格信息的一维数组,只在初始化的时候使用,使用celldata初始化完表格后,数据转换为luckysheetfile中的同级字段data,如`luckysheetfile[0].data`,后续操作表格的数据更新,会更新到这个data字段中,celldata不再使用。
+- 示例:
+ ```js
+ [{
+ "r": 0,
+ "c": 0,
+ "v": {
+ ct: {fa: "General", t: "g"},
+ m:"value1",
+ v:"value1"
+ }
+ }, {
+ "r": 0,
+ "c": 1,
+ "v": {
+ ct: {fa: "General", t: "g"},
+ m:"value2",
+ v:"value2"
+ }
+ }]
+ ```
+
+------------
+### luckysheet_select_save
+- 类型:Array
+- 默认值:[]
+- 作用: 选中的区域,支持多选,是一个包含多个选区对象的一维数组,示例:
+```js
+[
+ {
+ "left": 0,
+ "width": 97,
+ "top": 0,
+ "height": 20,
+ "left_move": 0,
+ "width_move": 97,
+ "top_move": 0,
+ "height_move": 41,
+ "row": [ 0, 1 ],
+ "column": [ 0, 0 ],
+ "row_focus": 0,
+ "column_focus": 0
+ },
+ {
+ "left": 98,
+ "width": 73,
+ "top": 63,
+ "height": 20,
+ "left_move": 98,
+ "width_move": 189,
+ "top_move": 63,
+ "height_move": 41,
+ "row": [ 3, 4 ],
+ "column": [ 1, 2 ],
+ "row_focus": 3,
+ "column_focus": 1
+ },
+ {
+ "left": 288,
+ "width": 128,
+ "top": 21,
+ "height": 20,
+ "left_move": 288,
+ "width_move": 128,
+ "top_move": 21,
+ "height_move": 62,
+ "row": [ 1, 3 ],
+ "column": [ 3, 3 ],
+ "row_focus": 1,
+ "column_focus": 3
+ }
+]
+```
+
+------------
+### luckysheet_conditionformat_save
+- 类型:Array
+- 默认值:[]
+- 作用: 条件格式配置信息,包含多个条件格式配置对象的一维数组,
+
+type: "default": 突出显示单元格规则和项目选区规则,
+
+"dataBar":数据条,
+
+"icons":图标集,
+
+"colorGradation": 色阶
+
+示例:
+```js
+[
+ {
+ "type": "default",
+ "cellrange": [
+ {
+ "row": [ 2, 7 ],
+ "column": [ 2, 2 ]
+ }
+ ],
+ "format": {
+ "textColor": "#000000",
+ "cellColor": "#ff0000"
+ },
+ "conditionName": "betweenness",
+ "conditionRange": [
+ {
+ "row": [ 4, 4 ],
+ "column": [ 2, 2 ]
+ },
+ {
+ "row": [ 6, 6 ],
+ "column": [ 2, 2 ]
+ }
+ ],
+ "conditionValue": [ 2, 4
+ ]
+ },
+ {
+ "type": "dataBar",
+ "cellrange": [
+ {
+ "row": [ 10, 15 ],
+ "column": [ 10, 11 ]
+ }
+ ],
+ "format": [
+ "#6aa84f",
+ "#ffffff"
+ ]
+ },
+ {
+ "type": "icons",
+ "cellrange": [
+ {
+ "row": [ 19, 23 ],
+ "column": [ 2, 2 ]
+ }
+ ],
+ "format": {
+ "len": "3",
+ "leftMin": "0",
+ "top": "0"
+ }
+ },
+ {
+ "type": "colorGradation",
+ "cellrange": [
+ {
+ "left": 422,
+ "width": 100,
+ "top": 210,
+ "height": 20,
+ "left_move": 422,
+ "width_move": 100,
+ "top_move": 210,
+ "height_move": 125,
+ "row": [ 10, 15 ],
+ "column": [ 6, 6 ],
+ "row_focus": 10,
+ "column_focus": 6
+ }
+ ],
+ "format": [
+ "rgb(99, 190, 123)",
+ "rgb(255, 235, 132)",
+ "rgb(248, 105, 107)"
+ ]
+ }
+]
+```
+
+------------
+### calcChain
+- 类型:Array
+- 默认值:[]
+- 作用: 公式链,用于公式所链接的单元格改变后,所有引用此单元格的公式都会联动刷新,示例:
+```js
+[{
+ "r": 6,
+ "c": 3,
+ "index": 1,
+ "func": [true, 23.75, "=AVERAGE(D3:D6)"],
+ "color": "w",
+ "parent": null,
+ "chidren": {},
+ "times": 0
+}, {
+ "r": 7,
+ "c": 3,
+ "index": 1,
+ "func": [true, 30, "=MAX(D3:D6)"],
+ "color": "w",
+ "parent": null,
+ "chidren": {},
+ "times": 0
+}]
+```
+
+------------
+### isPivotTable
+- 类型:Boolean
+- 默认值:false
+- 作用: 是否数据透视表
+
+------------
+### pivotTable
+- 类型:Object
+- 默认值:{}
+- 作用: 数据透视表设置,示例:
+```js
+{
+ "pivot_select_save": {
+ "left": 0,
+ "width": 73,
+ "top": 0,
+ "height": 19,
+ "left_move": 0,
+ "width_move": 369,
+ "top_move": 0,
+ "height_move": 259,
+ "row": [0, 12],
+ "column": [0, 4],
+ "row_focus": 0,
+ "column_focus": 0
+ },
+ "pivotDataSheetIndex": 6, //The sheet index where the source data is located
+ "column": [{
+ "index": 3,
+ "name": "subject",
+ "fullname": "subject"
+ }],
+ "row": [{
+ "index": 1,
+ "name": "student",
+ "fullname": "student"
+ }],
+ "filter": [],
+ "values": [{
+ "index": 4,
+ "name": "score",
+ "fullname": "count:score",
+ "sumtype": "COUNTA",
+ "nameindex": 0
+ }],
+ "showType": "column",
+ "pivotDatas": [
+ ["count:score", "science", "mathematics", "foreign language", "English", "total"],
+ ["Alex", 1, 1, 1, 1, 4],
+ ["Joy", 1, 1, 1, 1, 4],
+ ["Tim", 1, 1, 1, 1, 4],
+ ["total", 3, 3, 3, 3, 12]
+ ],
+ "drawPivotTable": false,
+ "pivotTableBoundary": [5, 6]
+}
+```
+
+------------
+### filter_select
+- 类型:Object
+- 默认值:{}
+- 作用: 筛选范围,一个选区,一个sheet只有一个筛选范围,类似`luckysheet_select_save`示例:
+```js
+{
+ "left": 74,
+ "width": 73,
+ "top": 40,
+ "height": 19,
+ "left_move": 74,
+ "width_move": 221,
+ "top_move": 40,
+ "height_move": 99,
+ "row": [
+ 2,
+ 6
+ ],
+ "column": [
+ 1,
+ 3
+ ],
+ "row_focus": 2,
+ "column_focus": 1
+}
+```
+
+------------
+### filter
+- 类型:Object
+- 默认值:{}
+- 作用: 筛选的具体设置,示例:
+```js
+{
+ "0": {
+ "caljs": {},
+ "rowhidden": {
+ "3": 0,
+ "4": 0
+ },
+ "optionstate": true,
+ "str": 2,
+ "edr": 6,
+ "cindex": 1,
+ "stc": 1,
+ "edc": 3
+ },
+ "1": {
+ "caljs": {},
+ "rowhidden": {
+ "6": 0
+ },
+ "optionstate": true,
+ "str": 2,
+ "edr": 6,
+ "cindex": 2,
+ "stc": 1,
+ "edc": 3
+ }
+}
+```
+
+------------
+### luckysheet_alternateformat_save
+- 类型:Array
+- 默认值:[]
+- 作用: 交替颜色配置,示例:
+```js
+[{
+ "cellrange": {
+ "row": [1, 6],
+ "column": [1, 5]
+ },
+ "format": {
+ "head": {
+ "fc": "#000",
+ "bc": "#5ed593"
+ },
+ "one": {
+ "fc": "#000",
+ "bc": "#ffffff"
+ },
+ "two": {
+ "fc": "#000",
+ "bc": "#e5fbee"
+ },
+ "foot": {
+ "fc": "#000",
+ "bc": "#a5efcc"
+ }
+ },
+ "hasRowHeader": false,
+ "hasRowFooter": false
+}, {
+ "cellrange": {
+ "row": [1, 6],
+ "column": [8, 12]
+ },
+ "format": {
+ "head": {
+ "fc": "#000",
+ "bc": "#5599fc"
+ },
+ "one": {
+ "fc": "#000",
+ "bc": "#ffffff"
+ },
+ "two": {
+ "fc": "#000",
+ "bc": "#ecf2fe"
+ },
+ "foot": {
+ "fc": "#000",
+ "bc": "#afcbfa"
+ }
+ },
+ "hasRowHeader": false,
+ "hasRowFooter": false
+}]
+```
+
+------------
+### luckysheet_alternateformat_save_modelCustom
+- 类型:Array
+- 默认值:[]
+- 作用:自定义交替颜色,包含多个自定义交替颜色的配置,示例:
+```js
+[{
+ "head": {
+ "fc": "#6aa84f",
+ "bc": "#ffffff"
+ },
+ "one": {
+ "fc": "#000",
+ "bc": "#ffffff"
+ },
+ "two": {
+ "fc": "#000",
+ "bc": "#e5fbee"
+ },
+ "foot": {
+ "fc": "#000",
+ "bc": "#a5efcc"
+ }
+}]
+```
+
+------------
+### chart
+- 类型:Array
+- 默认值:[]
+- 作用: 图表配置(开发中)
+
+------------
+### visibledatarow
+- 类型:Number
+- 默认值:[]
+- 作用: 所有行的位置信息,递增的行位置数据,初始化无需设置
+
+------------
+### visibledatacolumn
+- 类型:Number
+- 默认值:[]
+- 作用: 所有列的位置信息,递增的列位置数据,初始化无需设置
+
+------------
+### ch_width
+- 类型:Number
+- 默认值:2322
+- 作用: 整个工作表区域的宽度(包含边界的灰色区域),初始化无需设置
+
+------------
+### rh_height
+- 类型:Number
+- 默认值:2322
+- 作用: 整个工作表区域的高度(包含边界的灰色区域),初始化无需设置
+
+------------
+
+
+
diff --git a/src/config.js b/src/config.js
index ca9950f..1a0f2e8 100644
--- a/src/config.js
+++ b/src/config.js
@@ -47,7 +47,6 @@ export default {
"pageUrl":"",
},
editMode: false, //是否为编辑模式
- chartConfigChange: null,//图表插件中图表更新触发的自定义方法
beforeCreateDom: null,//表格创建之前的方法
fireMousedown: null, //单元格数据下钻
lang: 'en', //language
diff --git a/src/controllers/handler.js b/src/controllers/handler.js
index 718fbc3..b2b0ae0 100644
--- a/src/controllers/handler.js
+++ b/src/controllers/handler.js
@@ -4081,7 +4081,7 @@ export default function luckysheetHandler() {
let totalPage = luckysheetConfigsetting.pageInfo.totalPage;
let pageUrl = luckysheetConfigsetting.pageInfo.pageUrl;
- // rptapp
+
method.addDataAjax({
"queryExps": queryExps,
"reportId": reportId,
diff --git a/src/controllers/luckysheetConfigsetting.js b/src/controllers/luckysheetConfigsetting.js
index 9a60203..757f831 100644
--- a/src/controllers/luckysheetConfigsetting.js
+++ b/src/controllers/luckysheetConfigsetting.js
@@ -25,7 +25,6 @@ const luckysheetConfigsetting = {
editMode: false,
- chartConfigChange: null,
beforeCreateDom: null,
fireMousedown: null,
plugins:[],
diff --git a/src/core.js b/src/core.js
index 694b263..56c47ba 100644
--- a/src/core.js
+++ b/src/core.js
@@ -82,7 +82,6 @@ luckysheet.create = function (setting) {
luckysheetConfigsetting.pageInfo = extendsetting.pageInfo;
luckysheetConfigsetting.editMode = extendsetting.editMode;
- luckysheetConfigsetting.chartConfigChange = extendsetting.chartConfigChange;
luckysheetConfigsetting.beforeCreateDom = extendsetting.beforeCreateDom;
luckysheetConfigsetting.fireMousedown = extendsetting.fireMousedown;