Browse Source

docs(readme,api): readme api

readme api
master
lrz 5 years ago
parent
commit
95a5a63c77
  1. 9
      README-zh.md
  2. 10
      README.md
  3. BIN
      docs/.vuepress/public/img/LuckysheetDemo.gif
  4. BIN
      docs/.vuepress/public/img/favicon.ico
  5. BIN
      docs/.vuepress/public/img/logo.png
  6. BIN
      docs/.vuepress/public/img/logo_text.png
  7. 2
      docs/guide/api.md
  8. 214
      docs/zh/guide/api.md
  9. 2
      docs/zh/guide/config.md
  10. 55
      docs/zh/guide/data.md
  11. 24
      docs/zh/guide/operate.md
  12. 1025
      docs/zh/guide/sheet.md

9
README-zh.md

@ -1,4 +1,9 @@
# Luckysheet
<div align="center">
![logo](/docs/.vuepress/public/img/logo_text.png)
</div>
简体中文 | [English](./README.md)
## 介绍
@ -9,7 +14,7 @@
[在线文档](https://mengshukeji.github.io/LuckysheetDocs/zh/)
![演示](https://minio.cnbabylon.com/public/luckysheet/LuckysheetDemo.gif)
![演示](/docs/.vuepress/public/img/LuckysheetDemo.gif)
## 特性

10
README.md

@ -1,6 +1,12 @@
# Luckysheet
<div align="center">
![logo](/docs/.vuepress/public/img/logo_text.png)
[![Join the chat at https://gitter.im/mengshukeji/Luckysheet](https://badges.gitter.im/mengshukeji/Luckysheet.svg)](https://gitter.im/mengshukeji/Luckysheet?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
</div>
English| [简体中文](./README-zh.md)
## Introduction
@ -11,7 +17,7 @@ English| [简体中文](./README-zh.md)
[Online documentation](https://mengshukeji.github.io/LuckysheetDocs/)
![Demo](https://minio.cnbabylon.com/public/luckysheet/LuckysheetDemo.gif)
![Demo](/docs/.vuepress/public/img/LuckysheetDemo.gif)
## Features

BIN
docs/.vuepress/public/img/LuckysheetDemo.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 KiB

BIN
docs/.vuepress/public/img/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
docs/.vuepress/public/img/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
docs/.vuepress/public/img/logo_text.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

2
docs/guide/api.md

@ -76,7 +76,7 @@ The new API is being sorted out, please use it with caution!
- {Object | String | Number} [v]:The value to be set; it can be an object, and the object is to conform to the cell object format.
- **Usage**
Set the value of a cell. Can be used with `luckysheet.luckysheetrefreshgrid()` to refresh and view cell value changes.
Set the value of a cell. Can be used with `luckysheet.jfrefreshgrid()` to refresh and view cell value changes.
```js
luckysheet.setcellvalue(0, 0, luckysheet.flowdata(), 'abc');
luckysheet.jfrefreshgrid();

214
docs/zh/guide/api.md

@ -3,10 +3,9 @@
Luckysheet针对常用的数据操作需求,开放了主要功能的API,开发者可以根据需要进行任意对接开发。
使用注意:
1. 所有方法均挂载到window.luckysheet对象下面,可以在浏览器控制台打印看到
1. script全局引入时,所有API均挂载到window.luckysheet对象下面,可以在浏览器控制台打印看到;npm引入时,API也全部挂载在luckysheet对象下
2. `success`回调函数第一个参数为API方法的返回值
3. 需要新的API请到github [Issues](https://github.com/mengshukeji/Luckysheet/issues/new/choose)中提交,根据点赞数决定是否开放新API
3. ⚠️新的API正在整理,旧API可能随时变动,请谨慎使用并随时关注官网更新!
## 单元格操作
@ -19,7 +18,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- {PlainObject} [setting]: 可选参数
+ {String} [type]: 单元格的值,可以设置为"v":原始值 或者"m":显示值;默认值为'v',表示获取单元格的实际值
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -363,6 +361,33 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
## 选区操作
### getRange([setting])
- **参数**
- {PlainObject} [setting]: 可选参数
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
- **说明**
返回当前选区对象的数组,可能存在多个选区。每个选区的格式为row/column信息组成的对象`{row:[0,1],column:[0,1]}`
- **示例**:
- 当前选区为"A1:B2"和"B4:C5",执行
`luckysheet.getRange()`
则返回结果为:
```
[
{ "row": [0,1], "column": [0,1] },
{ "row": [3,4], "column": [1,2] }
]
```
------------
### getRangeValue([setting])
- **参数**
@ -370,7 +395,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- {PlainObject} [setting]: 可选参数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -387,7 +411,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- {PlainObject} [setting]: 可选参数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,允许多个选区组成的数组;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -410,7 +433,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- {PlainObject} [setting]: 可选参数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -434,7 +456,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
+ {Number} [column]: `dimensional`为`custom`的时候设置,多维数组的列数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -458,7 +479,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- {Number} [column]: `type`为`offset`的时候设置,对角偏移的列数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -475,7 +495,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- {PlainObject} [setting]: 可选参数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -483,7 +502,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
### setRangeShow(range [,setting])
### setRangeShow(range[,setting])
- **参数**
@ -1049,12 +1068,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
## 工作表操作
### getAllSheets([setting])
- **参数**
- {PlainObject} [setting]: 可选参数
+ {Function} [success]: 操作结束的回调函数
### getAllSheets()
- **说明**
@ -1069,7 +1083,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
### getluckysheetfile()
### getLuckysheetfile()
- **参数**
@ -1083,7 +1097,15 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- **示例**:
- 取得第一个工作表的所有调试信息
`luckysheet.getluckysheetfile()[0]`
`luckysheet.getLuckysheetfile()[0]`
------------
### getSheetData()
- **说明**
快捷获取当前表格的数据,同 `luckysheetfile[i].data`
------------
@ -1146,29 +1168,43 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
### setSheetHide(hide [,setting])
### setSheetHide([setting])
- **参数**
- {Boolean} [hide]: 是否隐藏工作表
`hide`可能的值有的:
+ `ture`: 隐藏指定索引的工作表,返回被隐藏的工作表对象
+ `false`: 取消隐藏指定索引的工作表,返回被显示的工作表对象
- {PlainObject} [setting]: 可选参数
+ {Number} [order]: 被隐藏的工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
隐藏或取消隐藏指定索引的工作表,返回被隐藏或取消隐藏的工作表对象
隐藏指定索引的工作表,返回被隐藏的工作表对象
- **示例**:
- 隐藏当前工作表
`luckysheet.setSheetHide(true)`
- 隐藏第三个工作表
`luckysheet.setSheetHide({order:2})`
------------
### setSheetShow([setting])
- **参数**
- {PlainObject} [setting]: 可选参数
+ {Number} [order]: 被取消隐藏的工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
取消隐藏指定索引的工作表,返回被取消隐藏的工作表对象
- **示例**:
- 取消隐藏第三个工作表
`luckysheet.setSheetHide(false,{order:2})`
`luckysheet.setSheetShow({order:2})`
------------
@ -1214,6 +1250,7 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
### setSheetColor(color [,setting])
- **参数**
- {String} [color]: 工作表颜色
- {PlainObject} [setting]: 可选参数
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
@ -1260,6 +1297,33 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
## 工作簿操作
### create(options [,setting])
- **参数**
- {Object} [options]:表格的所有配置信息
- {PlainObject} [setting]: 可选参数
+ {Function} [success]: 表格创建成功后的回调函数
- **说明**
初始化一个luckysheet,可包含多个工作表,参考 [配置列表](/zh/guide/config.html)
------------
### refresh([setting])
- **参数**
- {PlainObject} [setting]: 可选参数
+ {Function} [success]: 表格刷新成功后的回调函数
- **说明**
刷新canvas
------------
### getScreenshot([setting])
- **参数**
@ -1267,7 +1331,6 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- {PlainObject} [setting]: 可选参数
+ {Array | Object | String} [range]: 选区范围,支持选区的格式为`"A1:B2"`、`"sheetName!A1:B2"`或者`{row:[0,1],column:[0,1]}`,只能为单个选区;默认为当前选区
+ {Number} [order]: 工作表索引;默认值为当前工作表索引
+ {Function} [success]: 操作结束的回调函数
- **说明**
@ -1357,15 +1420,12 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
### getChart(chartId [,setting])
### getChart(chartId)
- **参数**
- {String} [chartId]: 指定要获取的图表id
- {PlainObject} [setting]: 可选参数
+ {Function} [success]: 操作结束的回调函数
- **说明**
获取指定id图表的参数
@ -1387,28 +1447,60 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
## luckysheet.create(options)
## 公共方法
### transToCellData(data[,setting])
- **参数**
- {Object} [options]:表格的所有配置信息
- {Array} [data]: data数据
- {PlainObject} [setting]: 可选参数
+ {Function} [success]: 操作结束的回调函数
- **说明**
data => celldata ,data二维数组数据转化成 {r, c, v}格式一维数组
------------
### transToData(celldata[,setting])
- **参数**
- {Array} [celldata]: data数据
- {PlainObject} [setting]: 可选参数
+ {Function} [success]: 操作结束的回调函数
- **说明**
初始化一个luckysheet,可包含多个工作表,参考 [配置列表](https://mengshukeji.github.io/LuckysheetDocs/zh/guide/config.html#container)
celldata => data ,celldata一维数组数据转化成表格所需二维数组
------------
## 旧版API
## luckysheet.getconfig()
::: warning
为保持兼容性,仍然支持旧版API,但是已不推荐使用。
:::
### getconfig()
- **说明**
快捷返回当前表格config配置,每个工作表的config信息仍然包含在luckysheetfile。
------------
## luckysheet.getluckysheet_select_save()
## getluckysheet_select_save()
- **说明**
返回当前选区对象的数组,可能存在多个选区。
> 推荐使用新API: [getRange](#getRange([setting]))
------------
## luckysheet.getdatabyselection([range] [,sheetOrder])
## getdatabyselection([range] [,sheetOrder])
- **参数**
- {Object} [range]:选区对象,`object: { row: [r1, r2], column: [c1, c2] }`;默认为当前第一个选区。
- {Number} [sheetOrder]:表格下标,从0开始的整数,0表示第一个表格;默认为当前表格下标。
@ -1418,8 +1510,11 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
- `luckysheet.getdatabyselection()`: 返回当前工作表当前选区的数据
- `luckysheet.getdatabyselection(null,1)`: 返回第2个工作表的当前选区的数据
> 推荐使用新API: [getRangeValue](#getRangeValue([setting]))
------------
## luckysheet.luckysheetrefreshgrid(scrollWidth, scrollHeight)
## luckysheetrefreshgrid(scrollWidth, scrollHeight)
- **参数**
- {Number} [scrollWidth]:横向滚动值。默认为当前横向滚动位置。
- {Number} [scrollHeight]:纵向滚动值。默认为当前纵向滚动位置。
@ -1429,13 +1524,17 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
------------
## luckysheet.jfrefreshgrid()
## jfrefreshgrid()
- **说明**
刷新canvas
> 推荐使用新API: [refresh](#refresh([setting]))
------------
## luckysheet.setluckysheet_select_save(v)
## setluckysheet_select_save(v)
- **参数**
- {Array} [v]:要设置的选区值(数组)。符合选区格式规则,如`[{ row: [r1, r2], column: [c1, c2] }]`。
- **说明**
@ -1446,52 +1545,49 @@ Luckysheet针对常用的数据操作需求,开放了主要功能的API,开
luckysheet.selectHightlightShow();
```
> 推荐使用新API: [setRangeShow](#setRangeShow(range[,setting]))
------------
## luckysheet.selectHightlightShow()
## selectHightlightShow()
- **说明**
高亮当前选区
------------
## luckysheet.setSheetHide(order)
- **参数**
- {Number} [order]:表格索引;从0开始的整数,0表示第一个表格;默认为当前表格索引。
- **说明**
隐藏某个表格。
> 推荐使用新API: [setRangeShow](#setRangeShow(range[,setting]))
------------
## luckysheet.setSheetShow(order)
- **参数**
- {Number} [order]:表格索引;从0开始的整数,0表示第一个表格;默认为当前表格索引。
- **说明**
显示某个表格。
------------
## luckysheet.flowdata()
## flowdata()
- **说明**
快捷获取当前表格的数据
> 推荐使用新API: [getSheetData](#getSheetData())
------------
## luckysheet.buildGridData(file)
## 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)
- **说明**
生成表格可以识别的二维数组
> 推荐使用新API: [transToData](#transToCellData([setting]))
------------
## luckysheet.getGridData(data)
## getGridData(data)
- **参数**
- {Array} [data]:工作表的二维数组数据
- **说明**
二维数组数据转化成 `{r, c, v}` 格式 一维数组
> 推荐使用新API: [transToCellData](#transToCellData([setting]))
------------
## luckysheet.destroy()
## destroy()
- **说明**
删除并释放表格

2
docs/zh/guide/config.md

@ -88,7 +88,7 @@ luckysheet.create(options)
### loadUrl
- 类型:String
- 默认值:""
- 作用:配置`loadUrl`的地址,Luckysheet会通过ajax请求整个表格数据,默认载入status为1的sheet数据中的所有`celldata`,其余的sheet载入除`celldata`字段外的所有字段
- 作用:配置`loadUrl`的地址,Luckysheet会通过ajax请求整个表格数据,默认载入status为1的sheet数据中的所有`celldata`,其余的sheet载入除`celldata`字段外的所有字段。但是考虑到一些公式、图表及数据透视表会引用其他sheet的数据,所以前台会加一个判断,如果该当前sheet引用了其他sheet的数据则把引用到的sheet的数据一并补全。
------------
### loadSheetUrl

55
docs/zh/guide/data.md

@ -1,55 +0,0 @@
# 表格数据
存储了sheet中所有单元格中的值,Luckysheet在建立的时候会根据 `luckysheetfile[i].row``luckysheetfile[i].column` 的行列数量大小新建一个表格data,然后再使用 `data[r][c]=v` 的方式填充表格数据,空数据单元格以null表示。
## 初始化表格数据
- **配置**
配置 `updateUrl` 的地址,Luckysheet会通过ajax请求表格数据,默认载入status为1的sheet数据中的所有`data`,其余的sheet载入除`data`字段外的所有字段。
- **格式**
## 获取sheet数据
- **配置**
配置`loadSheetUrl`的地址,参数为`gridKey`(表格主键) 和 `index`(sheet主键合集,格式为`[1,2,3]`),返回的数据为sheet的`data`字段数据集合
- **格式**
```json
{
"1": [{r:0, c:1, v:"值1"},{r:10, c:11, v:"值2"}],
"2": [data],
"3": [data],
}
```
- **说明**
r代表行,c代表列,v代表该单元格的值,值可以是字符、数字或者json串。
数据只会载入一次,一般来说都只有一个主键,但是考虑到一些公式、图表及数据透视表会引用其他sheet的数据,所以前台会加一个判断,如果该当前sheet引用了其他sheet的数据则把引用到的sheet的数据一并补全。
## 更新数据
- **配置**
配置 `updateUrl` 的地址,发送到后台的参数为json的字符串。
- **格式**
```json
{
compress: false,
gridKey:10004,
data: [更新数据]
}
```
- **说明**
| 参数 | 说明 | 举例 |
| ------------ | ------------ | ------------ |
| 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 : 'cell', i:0, c : 0, r : 0 , v: 2 }]` |

24
docs/zh/guide/operate.md

@ -8,6 +8,30 @@
以下为所有的支持传输到后台的操作类型,并且以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 }]` |
## 单元格刷新
- **格式**

1025
docs/zh/guide/sheet.md

File diff suppressed because it is too large
Loading…
Cancel
Save