# API简介
WPS多维表格为开发者提供了一套功能完备的聚合 API 体系，借助配套的 [SDK](/app-integration-dev/guide/dbsheet/Weboffice/weboffice-instro)，开发者既能够在浏览器环境中灵活调用 API 开展项目开发，也能依托 [在线脚本AirScript](/app-integration-dev/guide/dbsheet/AirScript/AirScript-instro) 运用 API 来编写脚本，拓展业务功能。
丰富多样的 API 接口，赋予了用户极大的自主开发空间，扩展多维表的功能，定制个性化功能。

## 怎么使用 API
> 以快速创建一张表为例，下面分别是在 **浏览器环境** 和 **AirScript脚本编辑器** 中的使用示例

### 浏览器环境示例
```javascript
async function example() {
  await instance.ready();
  const app = instance.Application;
  await app.Sheets.Add(
    null,1,'xlEtDataBaseSheet',
        {
            fields:
                [
                    {fieldType:'SingleLineText',args:{fieldName:'文本',fieldWidth:15}},
                    {fieldType:'MultiLineText',args:{fieldName:'多行文本',fieldWidth:15}},
                    {fieldType:'Date',args:{fieldName:'日期',numberFormat:'yyyy/mm/dd;@',fieldWidth:15}},
                    {fieldType:'SingleSelect',args:{fieldName:'单选项',fieldWidth:15,
                        listItems:[{value: '选项1', color: 4283466178},{value: '选项2',color: 4281378020}]}},
                    {fieldType:'Number',args:{fieldName:'数字',fieldWidth:15}},
                    {fieldType:'Rating',args:{fieldName:'等级',maxRating:6,fieldWidth:15}},
                ],
            name:'数据表',
            views:
                [
                    {name:'表格视图',type:'Grid'},
                    {name:'表单视图',type:'Form'}
                ]
        }
    )
}
```
### 脚本编辑器示例
```javascript
function main() {
  Application.Sheets.Add(
    1,null,'xlEtDataBaseSheet',
        {
            fields:
                [
                    {fieldType:'SingleLineText',args:{fieldName:'文本',fieldWidth:15}},
                    {fieldType:'MultiLineText',args:{fieldName:'多行文本',fieldWidth:15}},
                    {fieldType:'Date',args:{fieldName:'日期',numberFormat:'yyyy/mm/dd;@',fieldWidth:15}},
                    {fieldType:'SingleSelect',args:{fieldName:'单选项',fieldWidth:15,
                        listItems:[{value: '选项1', color: 4283466178},{value: '选项2',color: 4281378020}]}},
                    {fieldType:'Number',args:{fieldName:'数字',fieldWidth:15}},
                    {fieldType:'Rating',args:{fieldName:'等级',maxRating:6,fieldWidth:15}},
                ],
            name:'数据表',
            views:
                [
                    {name:'表格视图',type:'Grid'},
                    {name:'表单视图',type:'Form'}
                ]
        }
    )
}
main()
```

### 相同点

- 两者都是采用 JavaScript 语言编写
- 采用同一套 **API** 体系，接口一致

### 差异点

- 浏览器环境中，使用 Async、Await 语法来获取数据和设置数据，脚本编辑器中，不支持使用 Async、Await、Promise 语法
- 脚本编辑器中，内置了一些[基本数据类型、对象和函数](/app-integration-dev/guide/dbsheet/AirScript/AirScript-build-in)用来帮助开发者开发