Skip to content

表格实例(Application)

此对象代表当前表格实例,其为文档操作的顶级对象,开发者可以轻松的通过它获取到当前活动的窗口、工作薄和工作表,进而对其进行相关接口的调用。

属性列表

属性数据类型简介
当前的活动工作表
当前的活动窗口
当前的活动工作薄文件
Range 对象下的所有单元格
Range 对象下的所有列
当前文档的信息
Range 对象下的所有行
当前的选区对象
当前文件的所有工作表
获取正在协作的用户信息

方法列表

方法返回类型简介
string
10 进制数字转 A-Z 字母
number
A-Z 字母转 10 进制数字
获取当前 ActiveSheet 的某个区域(address 指定)
获取名称为 name 的工作表
工作表循环函数

ActiveSheet

当前活动工作表,可以通过 Sheet.Activate() 来切换活动工作表。该属性返回一个Sheet对象,代表当前活动工作表实例,开发者可以通过该对象提供的属性和方法对工作表进行相关操作。

数据类型

Sheet - 工作表对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作表
  const activeSheet = await app.ActiveSheet

  // 活动工作表名称
  const name = await activeSheet.Name
  console.log(name)
}

ActiveWindow

返回一个窗口对象,该对象代表活动的 Excel 窗口

数据类型

Window - 窗口对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动的窗口
  const activeWindow = await app.ActiveWindow
}

ActiveWorkbook

当前活动工作薄,返回一个Workbook对象,表示文件实例,开发者可以通过此对象管理工作薄文件,例如文件内容的撤销和保存等操作。

数据类型

Workbook - 工作薄对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 保存工作薄文件的更改
  const result = await app.ActiveWorkbook.Save()
  console.log(result)
}

// 打印结果如下
{
  "result": "ok",
  "version": 18,
  "size": 257346,
  "msgLength": 80
}

Sheets

当前实例中所有工作表(Sheet)的集合,返回一个Sheets集合。

数据类型

Sheets - 集合

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  const sheets = await app.Sheets
}

Count

工作表数量

数据类型

number - 数字

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 工作表对象
  const sheets = await app.ActiveWorkbook.Sheets

  // 工作表数量
  const count = await sheets.Count
  console.log(count)
}

DefaultNewSheetName

默认新工作表名

数据类型

string - 字符串

示例

js
//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 工作表对象
  const sheets = await app.ActiveWorkbook.Sheets

  // 默认新工作表名
  const defaultNewSheetName = await sheets.DefaultNewSheetName
  console.log(defaultNewSheetName)
}

Add()

新增工作表

参数

属性数据类型默认值必填说明
Before
String/Number
指定工作表的对象,新建的工作表将置于此工作表之前
After
String/Number
指定工作表的对象,新建的工作表将置于此工作表之后
Count
Number
1
要添加的工作表数。默认值为选定工作表的数量
Type
Enum
指定工作表类型,详细可见 Enum.XlSheetType
Name
Name
指定工作表名称

返回类型

示例

js
//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 工作表对象
  const sheets = await app.ActiveWorkbook.Sheets

  // 添加工作表
  await sheets.Add(null, null, 1, app.Enum.XlSheetType.xlWorksheet, '新工作表')
}

Item()

工作表对象

参数

名称类型必填说明
Index
number
工作表索引

返回类型

Sheet - 工作表对象

示例

js
//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 工作表对象
  const sheet = await app.ActiveWorkbook.Sheets.Item(1)
}

Cells

当前表格的所有单元格,返回一个Range对象。

数据类型

Range - 区域对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 区域对象
  const cells = await app.Cells

  // 区域中单元格的数量
  const count = await cells.Count
  console.log(count)
}

Columns

当前表格的所有列,返回一个Range对象。

数据类型

Range - 区域对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 列区域对象
  const columns = await app.Columns

  // 区域中第一列的列号
  const column = await columns.Column
  console.log(column)
}

FileInfo

当前表格的文件基础信息,结果返回一个FileInfo对象。

数据类型

FileInfo- 表格文件信息对象

ts
interface FileInfo {
  id: string
  name: string
  ext: string
  officeType: string
  creator: {
    id: string
    name: string
    logined: boolean
    attrs: {
      real_userid: string
    }
    avatar: string
    shortName: string
    isFake: boolean
    isLogin: boolean
    real_userid: string
  }
  size: number
  groupId: string
  docType: number
}

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 列区域对象
  const fileInfo = await app.FileInfo
  console.log(fileInfo)
}

/**
 * 打印结果如下
 */
{
  "id": "190235269657",
  "name": "测试数据表",
  "ext": ".xlsx",
  "officeType": "s",
  "creator": {
      "id": "1122256478",
      "name": "xxx",
      "logined": true,
      "attrs": {
          "real_userid": "1122256488"
      },
      "avatar": "https://avatar.qwps.cn/avatar/5Lil5Y2a5paH",
      "shortName": "xxx",
      "isFake": false,
      "isLogin": true,
      "real_userid": "1122256488"
  },
  "size": 257347,
  "groupId": "1203885387",
  "docType": 0
}

Selection

注意

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

获取当前选区对象,返回一个 RangeShapes对象。

数据类型

Range | Shapes集合) - 区域对象或者图形对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  const Selection = await app.Selection

  // 打印当前选区内的单元格数量
  const count = await Selection.Count
  console.log(count)
}

Users

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

获取正在协作的用户信息,返回一个用户 ID 和用户对象的Map

数据类型

User对象

ts
interface User {
  id: string
  name: string
  permission: string
  email: string
  logined: boolean
  real_userid: string
  attrs: {
    real_userid: string
    regtime: string
    company_name: string
    origPerm: string
    email: string
    incognito: string
    certification: string
    company_ids: string
    isPlus: string
    company_id: string
  }
  canWrite: boolean
  _connIds: string[]
  statusName: string
  avatar: string
  _image: {}
  _draw_avatar: boolean
  _color: string
  _range: null
  _latesttime: string
  shortName: string
  isFake: boolean
  isLogin: boolean
}

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  const users = await app.Users
  console.log(users)
}

Base10To26()

10 进制数字转 A-Z 字母

属性数据类型默认值必填说明
num
number
要转换的十进制数字

返回类型

string

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 23 -> W
  const word = await app.Base10To26(23)
  console.log(word)
}

Base26To10()

A-Z 字母转 10 进制数字

参数

属性数据类型默认值必填说明
character
string
要转换的 A-Z 字母,不区分大小写

返回类型

number

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // W -> 23
  const word = await app.Base26To10('W')
  console.log(word)
}

For()

工作表循环函数,用于批量获取多个工作表的内容

参数

属性数据类型默认值必填说明
Start
Number
表格开头 Sheet 位置
End
Number
表格结束 Sheet 位置
Step
Number
每次遍历步骤
Handle
Number
回调方法

返回类型

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取所有工作表名称
  const Names = []
  await app.For(1, app.Sheets.Count, 1, async Index => {
    Names.push(await app.Sheets.Item(Index).Name)
  })
  console.log(Names)
}

Range()

获取当前 ActiveSheet 的给定地址区域的Range对象。

参数

名称类型必填说明
address
string
选择的地址,可以是单元格地址或者选区范围范围地址,例"A1"或"A1:A10"

返回类型

Range - 给定地址区域的 Range 对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 区域对象
  const range = await app.Range('A1')
}

Sheets()

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

参数

名称类型必填说明
name
string
工作表的名称

返回类型

Sheet - 对应名称的工作表 Sheet 对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // sheet1对象
  const sheet1 = await app.Sheets('Sheet1')
}