Skip to content

表格(Tables)

文档中所有表格对象的集合

属性列表

属性说明
获取页面中总表格数量

方法列表

方法说明
插入表格
获取单个表格,返回 Table 对象
获取表格列。返回一个 Columns 集合,该集合代表表格中的所有表格列。此为只读属性
表格的范围。返回一个 Range 对象,该对象代表指定表格中包含的文档部分
获取表格行。返回一个 Rows 集合,该集合代表表格内的所有表格行。此为只读属性
删除表格

Count

仅支持 PC 端

获取页面中总表格数量

语法

表达式.ActiveDocument.Tables.Count

表达式:文档类型应用对象

返回值

返回 Number 表示页面中总表格数量

示例

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

  const app = instance.Application

  // 获取所有表格
  const tables = await app.ActiveDocument.Tables

  // 获取页面中总表格数量
  const count = await tables.Count
  console.log(count)
}

Add()

仅支持 PC 端

插入表格

在 WebOffice v4.1.1+ 版本后,支持调用 Add() 方法后,返回对应的 Table 对象,从而获取新建表格的范围、单元格等信息和设置对应值

语法

表达式.ActiveDocument.Tables.Add(Range, NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Range
Object
位置信息。表达式.ActiveDocument.ActiveWindow.Selection.Range
NumRows
Number
新建表格的行数
NumColumns
Number
新建表格的列数
DefaultTableBehavior
Enum
单元格是否自动调整大小以适应单元格的内容,可参考 Enum.WdDefaultTableBehavior
AutoFitBehavior
Enum
设置 Word 调整表格的大小的自动调整规则,可参考 Enum.WdAutoFitBehavior

示例

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

  const app = instance.Application

  // 获取所有表格
  const tables = await app.ActiveDocument.Tables

  // 插入表格
  await tables.Add(
    app.ActiveDocument.ActiveWindow.Selection.Range, // 位置信息
    3, // 新增表格的行数
    3, // 新增表格的列数
    1, // 启用自动调整功能
    1 // 根据表格中包含的内容自动调整表格的大小
  )
}

Item()

仅支持 PC 端

获取单个表格,返回 Table 对象

语法

表达式.ActiveDocument.Tables.Item(Index)

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Index
Number
第 Index 个表格

示例

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

  const app = instance.Application

  // 获取所有表格
  const tables = await app.ActiveDocument.Tables

  // 获取单个表格,返回第 1 个 Table 对象
  await tables.Item(1)
}

Item().Columns

仅支持 PC 端

获取表格列。返回一个 Columns 集合,该集合代表表格中的所有表格列。此为只读属性

语法

表达式.ActiveDocument.Tables.Item(Index).Columns

表达式:文档类型应用对象

示例

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

  const app = instance.Application

  // 获取所有表格
  const tables = await app.ActiveDocument.Tables

  // 获取第 1 个表格
  const tableOne = await tables.Item(1)

  // 获取第 1 个表格的所有列
  const columns = tableOne.Columns
}

Item().Range

仅支持 PC 端

表格的范围。返回一个 Range 对象,该对象代表指定表格中包含的文档部分

语法

表达式.ActiveDocument.Tables.Item(Index).Range

表达式:文档类型应用对象

示例

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

  const app = instance.Application

  // 获取所有表格
  const tables = await app.ActiveDocument.Tables

  // 获取第 1 个表格
  const tableOne = await tables.Item(1)

  // 获取第 1 个表格的范围。返回一个 Range 对象,该对象代表指定表格中包含的文档部分
  const range = await tableOne.Range
}

Item().Rows

仅支持 PC 端

获取表格行。返回一个 Rows 集合,该集合代表表格内的所有表格行。此为只读属性

语法

表达式.ActiveDocument.Tables.Item(Index).Rows

表达式:文档类型应用对象

示例

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

  const app = instance.Application

  // 获取所有表格
  const tables = await app.ActiveDocument.Tables

  // 获取第 1 个表格
  const tableOne = await tables.Item(1)

  // 获取第 1 个表格的所有行
  const rows = tableOne.Rows
}

Item().Delete()

仅支持 PC 端

删除表格

语法

表达式.ActiveDocument.Tables.Item(Index).Delete()

表达式:文档类型应用对象

示例

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

  const app = instance.Application

  // 获取所有表格
  const tables = await app.ActiveDocument.Tables

  // 获取第 1 个表格
  const tableOne = await tables.Item(1)

  // 删除第 1 个表格
  await tableOne.Delete()
}