Skip to content

文字组件表格操作相关 API

表格对象

ActiveDocument.Tables

文档中所有表格的集合

语法

表达式.ActiveDocument.Tables

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

示例

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

  const app = instance.Application

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

插入表格

ActiveDocument.Tables.Add()

插入表格

语法

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

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

参数

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

示例

//@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 // 根据表格中包含的内容自动调整表格的大小
  )
}

获取表格总个数

ActiveDocument.Tables.Count

获取页面中总表格数量

语法

表达式.ActiveDocument.Tables.Count

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

返回值

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

示例

//@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)
}

获取单个表格对象

ActiveDocument.Tables.Item()

获取单个表格

语法

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

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

参数

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

示例

//@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)
}

删除单个表格

ActiveDocument.Tables.Item(Index).Delete()

删除表格

语法

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

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

示例

//@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()
}

获取单个表格的区域

ActiveDocument.Tables.Item(Index).Range

表格的范围

语法

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

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

示例

//@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 range = await tableOne.Range
}

获取表格列对象

ActiveDocument.Tables.Item(Index).Columns

获取表格列

语法

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

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

示例

//@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
}

获取单表格总列数

ActiveDocument.Tables.Item(Index).Columns.Count

获取表格总列数

语法

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

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

示例

//@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)

  // 获取表格所有列
  const columns = await tableOne.Columns

  // 获取表格总列数
  const count = await columns.Count
  console.log(count)
}

单表格插入列

ActiveDocument.Tables.Item(Index).Columns.Add()

插入表格列

语法

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

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

参数

属性类型默认值必填说明
BeforeColumn
string
代表将会直接显示在新列右侧的 Column 对象

示例

//@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)

  // 获取表格所有列
  const columns = await tableOne.Columns

  // 插入列
  await columns.Add(1)
}

获取表格单列对象

ActiveDocument.Tables.Item(Index).Columns.Item()

获取表格某一列

语法

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

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

参数

属性类型默认值必填说明
Index
number
第 Index 列

示例

//@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)

  // 获取表格所有列
  const columns = await tableOne.Columns

  // 获取表格第 1 列
  const columnOne = await columns.Item(1)
}

删除表格单列

ActiveDocument.Tables.Item(Index).Columns.Item(Index).Delete()

删除表格列

语法

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

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

示例

//@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)

  // 获取表格所有列
  const columns = await tableOne.Columns

  // 获取表格第 1 列
  const columnOne = await columns.Item(1)

  // 删除第 1 列
  columnOne.Delete()
}

设置表格单列宽度

ActiveDocument.Tables.Item(Index).Columns.Item(Index).SetWidth()

设置表格列的宽度

语法

表达式.ActiveDocument.Tables.Item(Index).Columns.Item(Index).SetWidth(ColumnWidth, RulerStyle)

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

参数

属性类型默认值必填说明
ColumnWidth
number
指定列的宽度,以磅为单位
RulerStyle
enum
控制 Word(文字)调整单元格宽度的方式,可参照 Enum.WdRulerStyle

示例

//@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)

  // 获取表格所有列
  const columns = await tableOne.Columns

  // 获取表格第 1 列
  const columnOne = await columns.Item(1)

  // 调整第 1 列宽度
  columnOne.SetWidth(50)
}

获取表格单列区域

ActiveDocument.Tables.Item(Index).Columns.Item(Index).Range

表格列的范围

语法

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

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

示例

//@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)

  // 获取表格所有列
  const rows = await tableOne.Columns

  // 获取表格第 1 列
  const rowOne = await rows.Item(1)

  // 获取第 1 列的 Range 对象
  const range = rowOne.Range
}

获取表格行对象

ActiveDocument.Tables.Item(Index).Rows

获取表格行

语法

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

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

示例

//@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
}

获取表格总行数

ActiveDocument.Tables.Item(Index).Rows.Count

获取表格总行数

语法

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

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

示例

//@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)

  // 获取表格所有行
  const rows = await tableOne.Rows

  // 获取表格总行数
  const count = await rows.Count
  console.log(count)
}

插入表格行

ActiveDocument.Tables.Item(Index).Rows.Add()

插入表格行

语法

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

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

参数

属性类型默认值必填说明
BeforeRow
string
代表将会直接显示在新行下方的 Rows 对象

示例

//@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)

  // 获取表格所有行
  const rows = await tableOne.Rows

  // 插入行
  await rows.Add(1)
}

获取表格单行对象

ActiveDocument.Tables.Item(Index).Rows.Item()

获取表格某一行

语法

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

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

参数

属性类型默认值必填说明
Index
number
第 Index 行

示例

//@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)

  // 获取表格所有行
  const rows = await tableOne.Rows

  // 获取表格第 1 行
  const rowOne = await rows.Item(1)
}

删除表格行

ActiveDocument.Tables.Item(Index).Rows.Item(Index).Delete()

删除表格行

语法

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

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

示例

//@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)

  // 获取表格所有行
  const rows = await tableOne.Rows

  // 获取表格第 1 行
  const rowOne = await rows.Item(1)

  // 删除第 1 行
  rowOne.Delete()
}

设置表格行高

ActiveDocument.Tables.Item(Index).Rows.Item(Index).SetHeight()

设置表格行的宽度

语法

表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).SetHeight(RowHeight, HeightRule)

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

参数

属性类型默认值必填说明
RowHeight
number
指定行的高度,以磅为单位
HeightRule
enum
用于确定指定行的高度的规则,可参照 Enum.WdRowHeightRule

示例

//@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)

  // 获取表格所有行
  const rows = await tableOne.Rows

  // 获取表格第 1 行
  const rowOne = await rows.Item(1)

  // 调整第 1 行高度
  rowOne.SetHeight(50)
}

获取表格行区域

ActiveDocument.Tables.Item(Index).Rows.Item(Index).Range

表格行的范围

语法

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

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

示例

//@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)

  // 获取表格所有行
  const rows = await tableOne.Rows

  // 获取表格第 1 行
  const rowOne = await rows.Item(1)

  // 获取第 1 行的 Range 对象
  const range = rowOne.Range
}

获取单元格对象

ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells 或者 ActiveDocument.Tables.Item(Index).Columns.Item(Index).Cells

表格列、表格行、选定内容或区域中的 Cell 对象的集合。

后面统一用 行(Rows)来演示对应的单元格

语法

  • 表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells
  • 表达式.ActiveDocument.Tables.Item(Index).Columns.Item(Index).Cells

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

示例

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

  const app = instance.Application

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

  // 获取表格第 1 行的第 1 个单元格的文本
  const rowText = await tableOne.Rows.Item(1).Cells.Item(1).Range.Text
  console.log(rowText)

  // 获取表格第 2 列的第 2 个单元格的文本
  const columnText = await tableOne.Rows.Item(2).Cells.Item(2).Range.Text
  console.log(columnText)
}

获取单个单元格对象

ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item()

某一个单元格

语法

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

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

参数

属性类型默认值必填说明
Index
string
第 Index 个单元格

示例

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

  const app = instance.Application

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

  // 获取表格第 1 行的第 1 个单元格
  const rowText = await tableOne.Rows.Item(1).Cells.Item(1)
}

删除单个单元格

ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).Delete()

删除单元格

语法

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

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

示例

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

  const app = instance.Application

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

  // 获取表格第 1 行的第 1 个单元格
  const cellOne = await tableOne.Rows.Item(1).Cells.Item(1)

  // 删除该单元格所在的行
  await cellOne.Delete()
}

设置单个单元格宽度

ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).SetWidth()

设置表格行的宽度

语法

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

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

参数

属性类型默认值必填说明
RowWidth
number
指定行的宽度,以磅为单位
HeightRule
enum
用于确定指定行的高度的规则,可参照 Enum.WdRowHeightRule

示例

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

  const app = instance.Application

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

  // 获取表格第 1 行的第 1 个单元格
  const cellOne = await tableOne.Rows.Item(1).Cells.Item(1)

  // 调整该单元格所在的宽度
  await cellOne.SetWidth(50)
}

设置单个单元格高度

ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).SetHeight()

设置表格列的高度

语法

表达式.ActiveDocument.Tables.Item(Index).Rows.Item(Index).Cells.Item(Index).SetHeight(RowHeight, HeightRule)

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

参数

属性类型默认值必填说明
RowHeight
number
指定行的高度,以磅为单位
HeightRule
enum
用于确定指定行的高度的规则,可参照 Enum.WdRowHeightRule

示例

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

  const app = instance.Application

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

  // 获取表格第 1 行的第 1 个单元格
  const cellOne = await tableOne.Rows.Item(1).Cells.Item(1)

  // 调整该单元格所在的高度
  await cellOne.SetHeight(50)
}