WPS 智能表格 数据表 Application

Application#

文档操作的顶级对象,对文档进行相关操作,都是间接或直接操作该对象。

Application 是一个文件的顶级对象,新打开一个文件返回的也是 Application。

而在脚本中的Application则是指当前文件的顶级对象,有且只有一个。

Application 对象的具体属性和方法请参阅下方的列表。

属性列表#
属性数据类型简介
ActiveSheetSheet当前的活动工作表/数据表
SheetsSheets当前文件的所有工作表/数据表
FileInfoObject当前文档的信息
UserInfoObject当前文档的用户信息
EnumEnum所有的枚举类型
方法列表#
方法返回类型简介
Sheets(name)Sheet获取名称为 name 的工作表/数据表

ActiveSheet#

当前活动工作表/数据表,可以通过 Sheet.Activate()来切换活动工作表/数据表。该属性返回Sheet对象,能利用该属性操作当前活动工作表/数据表。

运行脚本的环境是独立在服务器的,因此脚本运行环境的 ActiveSheet 与用户环境的 ActiveSheet 不一定相同。

具体规则是:

1.运行脚本时会把脚本运行环境的 ActiveSheet 切换为用户环境当前的 ActiveSheet。

2.当脚本通过函数切换脚本运行环境的 ActiveSheet 时,用户环境的 ActiveSheet 不会同步切换。

数据类型#

Sheet - 当前活动工作表/数据表

示例#

js

console.log(Application.ActiveSheet.Name) // 数据表2

// 切换到名称为数据表2的数据表
Application.Sheets.Item('数据表2').Activate()
console.log(Application.ActiveSheet.Name) // 数据表2

Sheets#

获取当前文件能操作的所有 Sheet,返回一个Sheets对象。

数据类型#

Sheets

示例#

js

// 工作簿(Workbook)中所有工作表/数据表(Sheet)的集合,下面两种写法是一样的
let sheets = Application.ActiveWorkbook.Sheets
sheets = Application.Sheets

// 打印所有工作表/数据表的名称
for (let i = 1; i <= sheets.Count; i++) {
  console.log(sheets.Item(i).Name)
}

Sheets.Count#

工作表/数据表数量

数据类型#

Number - 对应工作簿的工作表/数据表数量

示例#

js

// 下面两种写法是一样的
let sheets = Application.ActiveWorkbook.Sheets
sheets = Application.Sheets

// 打印所有工作表/数据表的名称
console.log(sheets.Count) //1

Sheets.DefaultNewSheetName#

默认新工作表名

返回类型#

String - 新建工作表时若没有指定名称,可用这个名称作为新建工作表名称

示例#

js

const defaultName = Application.Sheets.DefaultNewSheetName
// 工作表对象
Application.Sheets.Add(
  null,
  Application.ActiveSheet.Name,
  1,
  Application.Enum.XlSheetType.xlWorksheet,
  defaultName
)

Sheets.Add()#

新增工作表,如果 Before 和 After 都存在,以 Before 为准

参数#
属性数据类型默认值必填

说明

BeforeString/NumberAfter 空时,必填,为当前已有单元格的 index 或者名称,新建的工作表将置于此工作表之前
AfterString/NumberBefore 空时,必填,为当前已有单元格的 index 或者名称,新建的工作表将置于此工作表之后
CountNumber1要添加的工作表数。默认值为选定工作表的数量
TypeEnum指定工作表类型,详细可见 Enum.XlSheetType
NameName指定工作表名称
示例#

js

// 添加工作表
Application.Sheets.Add(
  null,
  Application.ActiveSheet.Name,
  1,
  Application.Enum.XlSheetType.xlWorksheet,
  '新工作表'
)

Sheets.Item()#

根据名称或索引选择 Sheet

参数#
属性数据类型默认值必填说明
indexString/Number所选的 sheet 的名称/索引
返回类型#

Sheet - 对应名称的工作表/数据表

示例#

js

// 切换名称为"Sheet2"的工作表
Application.Sheets.Item('Sheet2').Activate()

// 切换索引为1的工作表
Application.Sheets.Item(1).Activate()

Sheets.Each()#

遍历所有 sheet 并执行回调函数

参数#
属性数据类型默认值必填说明
callbackFunctionnull类似 JS 数组的 forEach
示例#

js

// 打印所有工作表/数据表的名称
Application.Sheets.Each(function (item) {
  console.log(item.Name) //Sheet1 Sheet2
})

FileInfo#

返回当前文件的基本信息。

数据类型#

Object - 当前文件的信息

名称类型说明
idstring文件 ID
namestring文件名
officeTypestring文档类型
creatorCreatorObject文档创建者信息
sizenumber文件大小
groupIdstring文件的群组 ID
docTypenumber文档类型(数字形式)
CreatorObject 对象信息#
名称类型说明
idstring创建者 ID
namestring创建者名称
avatar_urlstring创建者头像
loginedboolean是否已登录
attrsObject属性对象
real_idstring真实 ID
示例#

javascript

// 打印文件信息
console.log(Application.FileInfo)
/*{
 "id": "<open_id>",
 ...
}*/

UserInfo#

返回当前文件的用户信息。

数据类型#

Object- 当前文件的用户信息

名称类型说明
idstring用户 ID
namestring用户名称
示例#

javascript

// 打印用户信息
console.log(Application.UserInfo)

Enum#

枚举类型,存放在 Application 下。

可以通过 Application.Enum 使用

数据类型#

Enum - 所有的枚举类型

示例#

js

// 打印工作表/数据表的类型枚举
console.log(Application.Enum.XlSheetType)
//{"xlChart":-4109,"xlDialogSheet":-4116,"xlExcel4IntlMacroSheet":4,"xlExcel4MacroSheet":3,"xlWorksheet":-4167}

Sheets()#

作为函数使用,代替 Sheets.Item(),返回一个Sheet对象。

参数#
名称类型必填说明
namestring工作表/数据表的名称
返回类型#

Sheet - 对应名称的工作表/数据表 Sheet 对象

示例#

Sheet#

工作簿(Workbook)中单个数据表(Sheet)对象

Sheet 对象的具体属性和方法请参阅下方的列表。

属性列表#
属性名数据类型简介
IdString该数据表的 Id
NameString该数据表的名称
IndexNumber该数据表在所有表的索引值
VisibleBoolean该数据表是否可见
TypeString该数据表的类型
FieldField该数据表的字段
RecordRecord该数据表的行记录
方法列表#
方法名返回类型简介
Activate()undefined切换(激活)数据表
Move()undefined移动数据表
Delete()undefined删除数据表
IsDBSheet()Boolean是否为数据表

Id#

获取数据表 Id

数据类型#

String - 数据表 Id

示例#

js

const sheet = Application.ActiveSheet
// 打印当前活动数据表的id
console.log(sheet.Id)

Name#

设置/获取 数据表名称

数据类型#

String - 该数据表在所有数据表的名称

示例#

js

const sheet = Application.ActiveSheet
// 打印当前活动数据表的名称
console.log(sheet.Name) // Sheet2

// 将当前数据表的名称改为 WPS WebOffice
sheet.Name = 'WPS WebOffice'

Index#

数据表的 index,即该数据表在所有数据表的索引值

数据类型#

String - 该数据表在所有数据表的索引值

示例#

js

const sheet = Application.ActiveSheet
// 打印当前活动数据表的index
console.log(sheet.Index) // 1

Visible#

显示/隐藏 数据表

数据类型#

Boolean - 数据表是否可见

示例#

js

const sheet = Application.ActiveSheet
// 隐藏数据表
sheet.Visible = false
// 取消数据表隐藏
sheet.Visible = true

Type#

数据表类型

数据类型#

Enum.xlEtDataBaseSheet - 数据表的类型

示例#

js

const sheet = Application.ActiveSheet
// 打印当前活动数据表的类型
console.log(sheet.Type) //xlEtDataBaseSheet

Field#

数据表的字段, 返回一个Field对象

数据类型#

Field

示例#

js

const sheet = Application.ActiveSheet
// 获取的表所有字段信息
const fields = sheet.Field.GetFields()

Record#

数据表的字段, 返回一个Record对象

数据类型#

Record

示例#

js

const sheet = Application.ActiveSheet
const record = sheet.Record.GetRecord({  RecordId: 'Bz' })

Activate()#

激活表

示例#

js

const sheet = Application.Sheets.Item(1)
// 激活第一个表
sheet.Activate()

Move()#

移动数据表

参数#

两个参数互斥

属性数据类型默认值必填说明
Beforenumbernull验将放置移动的数据表之前的数据表 ID。如果指定 After ,则不能指定 Before。
Afternumbernull将放置移动的数据表后的数据表 ID。如果指定 Before ,则不能指定 After
示例#

js

// 将当前数据表移动到第二个数据表之后
const sheet = Application.ActiveSheet
sheet.Move({
  Before: null,
  After: Application.Sheets(2).Id
})

Delete()#

删除数据表

返回值#

undefined

示例#

js

// 删除名称为“Sheet2”的数据表
Application.Sheets.Item('Sheet2').Delete()

IsDBSheet()#

是否为数据表

返回值#

Boolean

Field#

字段操作

方法列表#

方法名返回类型简介
GetFields()Array获取字段信息
CreateFields()Array创建字段
DeleteFields()Array删除字段
UpdateFields()Array更新字段

GetFields()#

获取字段信息

返回值#

Array - 返回获取的表所有字段信息

属性数据类型说明
idString字段Id
nameString字段名称
typeString字段类型

示例#

javascript

const sheet = Application.ActiveSheet
// 获取的表所有字段信息
const fields = sheet.Field.GetFields()
console.log(fields)
// 打印结果:
// [
//  {"id":"Ce","name":"名称","type":"MultiLineText"},
//  {"id":"Cf","name":"数量","type":"Number"},
// ] 

CreateFields()#

创建字段

参数#

属性数据类型默认值必填说明
FieldsArray表的字段信息,格式说明见附录

返回值#

Array - 返回已创建的表所有字段信息

属性数据类型说明
idString字段Id
nameString字段名称
typeString字段类型

示例#

javascript

const sheet = Application.ActiveSheet
const field =  sheet.Field.CreateFields({ 
    Fields: [ 
        { name: '等级',  type: 'Rating', max: 5 }
    ] 
})
console.log(field)
// 打印结果:
// [{"id":"LZ","name":"等级","type":"Rating"}]

DeleteFields()#

删除字段

参数#

属性数据类型默认值必填说明
FieldsArray需要删除的字段Id

返回值#

Array - 返回删除的表id以及删除是否成功信息

属性数据类型说明
idString字段Id
deletedBoolean是否删除成功

示例#

javascript

const sheet = Application.ActiveSheet
// 删除字段
const resutlt = sheet.Field.DeleteFields({ FieldIds: ['P', 'Q'] })
console.log(resutlt)
// 打印结果:
// [{"deleted":false,"id":"P"},{"deleted":false,"id":"Q"}]

UpdateFields()#

更新字段

参数#

属性数据类型默认值必填说明
FieldsArray更新的字段信息,包含字段Id,字段name,格式说明见附录

返回值#

Array - 返回已更新的字段信息

属性数据类型说明
idString字段Id
nameString字段名称
typeString字段类型

示例#

javascript

const sheet = Application.ActiveSheet
// 修改字段名称
sheet.Field.UpdateFields({ 
    Fields: [{ id: 'LG', name: '跳转' }]
})

最后更新于: 2023/12/15 15:06:05

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值