Skip to content

工作表(Sheet)

工作表对象

属性列表

属性说明
活动工作簿中的活动工作表的可编辑区域
工作表上的所有单元格,返回的是一个 Range 对象,可参考使用 Range(区域)
工作表上的所有列,返回的是一个 Range 对象,可参考使用 Range(区域)
工作表对应编号
工作表对应索引号
获取当前工作表名称
返回一个 Names 集合,该集合代表所有工作表特定的名称,详细使用可参考 名称管理器
返回一个 Range 对象,它表示一个单元格或单元格区域,详细可参考 Range(区域)
工作表上的所有行,返回的是一个 Range 对象,可参考使用 Range(区域)
当前工作表上的所有 Shape 对象的集合,使用方式可见 Shapes 对象
工作表对应类型
工作表上的所用区域,返回 Range 区域对象,详细可参考 Range(区域)
工作表是否可见

方法列表

方法说明
在受保护的工作表(Sheet)中添加一个可编辑区域
切换到指定工作表
删除工作表
导出整个表格为对应的 PDF 或者 Img 图片,并获取导出后的 url
移动工作表
保护工作表使其不被修改
去除工作表或工作簿中的保护。如果工作表或工作簿不是受保护的,则此方法不起作用
清除复制蚂蚁线

AllowEditRanges

活动工作簿中的活动工作表的可编辑区域

数据类型

AllowEditRanges - 可编辑区域集合对象

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 可编辑区域
  const allowEditRanges = await activeSheet.AllowEditRanges
}

Cells

工作表上的所有单元格,返回的是一个 Range 对象,可参考使用 Range(区域)

语法

表达式.ActiveWorkbook.ActiveSheet.Cells

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表上的所有单元格
  const cells = await activeSheet.Cells
}

Columns

工作表上的所有列,返回的是一个 Range 对象,可参考使用 Range(区域)

语法

表达式.ActiveWorkbook.ActiveSheet.Columns

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表上的所有列
  const chartObjects = await activeSheet.Columns
}

Id

工作表对应编号

语法

表达式.ActiveWorkbook.ActiveSheet.Id

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表对应编号
  const id = await activeSheet.Id
  console.log(id)
}

Index

工作表对应索引号

语法

表达式.ActiveWorkbook.ActiveSheet.Index

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表对应索引号
  const index = await activeSheet.Index
  console.log(index)
}

Name

获取当前工作表名称

语法

表达式.ActiveWorkbook.ActiveSheet.Name

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

返回值

返回 String 表示对应的 Sheet 名称。

示例

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

  const app = instance.Application

  // 获取当前工作表名称
  const name = await app.ActiveWorkbook.ActiveSheet.Name
  console.log(name)
}

Names

返回一个 Names 集合,该集合代表所有工作表特定的名称,详细使用可参考 名称管理器

语法

表达式.ActiveWorkbook.ActiveSheet.Names

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 返回一个 Names 集合,该集合代表所有工作表特定的名称
  const names = await activeSheet.Names
}

Range

返回一个 Range 对象,它表示一个单元格或单元格区域,详细可参考 Range(区域)

语法

表达式.ActiveWorkbook.ActiveSheet.Range

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 返回一个 Range 对象,它表示一个单元格或单元格区域
  const range = await activeSheet.Range
}

Rows

工作表上的所有行,返回的是一个 Range 对象,可参考使用 Range(区域)

语法

表达式.ActiveWorkbook.ActiveSheet.Rows

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表上的所有行
  const chartObjects = await activeSheet.Rows
}

Shapes

当前工作表上的所有 Shape 对象的集合,使用方式可见 Shapes 对象

语法

表达式.ActiveWorkbook.ActiveSheet.Shapes

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 当前工作表上的所有 Shape 对象的集合
  const shapes = await activeSheet.Shapes
}

Type

工作表对应类型

普通工作表 xlWorksheet、空白数据表 xlEtDataBaseSheet、仪表板 xlEtDashBoardSheet

语法

表达式.ActiveWorkbook.ActiveSheet.Type

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表对应类型
  const type = await activeSheet.Type
  console.log(type)
}

UsedRange

工作表上的所用区域,返回 Range 区域对象,详细可参考 Range(区域)

语法

表达式.ActiveWorkbook.ActiveSheet.UsedRange

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表上的所用区域
  const UsedRange = await activeSheet.UsedRange
}

Visible

工作表是否可见

语法

表达式.ActiveWorkbook.ActiveSheet.Visible

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 工作表不可见
  activeSheet.Visible = false
}

Add()

在受保护的工作表(Sheet)中添加一个可编辑区域

参数

属性数据类型默认值必填说明
Range
Object
Range 对象
Title
String
标题
Password
String
密码

返回类型

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 可编辑区域
  const allowEditRanges = await activeSheet.AllowEditRanges

  // 范围:左上角至 A1,右下角至 E20
  const range = await activeSheet.Range('$A1:$E20')

  // 添加可编辑区域
  await allowEditRanges.Add({Title:undefined, Range: range, Password: '123456'});
}

Activate()

切换到指定工作表

语法

表达式.ActiveWorkbook.Sheets.Item(Index).Activate()

表达式.Sheets(Index).Activate()

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

参数

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

示例一

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

  const app = instance.Application

  // 切换到指定工作表
  const sheetIndex = 2 // Sheets 序号,从 1 开始
  app.ActiveWorkbook.Sheets.Item(sheetIndex).Activate()
}

示例二

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

  const app = instance.Application

  // 切换到指定工作表
  const sheetIndex = 2 // Sheets 序号,从 1 开始
  app.Sheets(sheetIndex).Activate()
}

Delete()

删除工作表

语法

表达式.ActiveWorkbook.ActiveSheet.Delete()

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

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 删除工作表
  await activeSheet.Delete()
}

ExportAsFixedFormat()

导出整个表格为对应的 PDF 或者 Img 图片,并获取导出后的 url

语法

表达式.ActiveWorkbook.ActiveSheet.ExportAsFixedFormat({ Type })

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

参数

属性数据类型默认值必填说明
Type
Enum
可选
导出的类型,详细可参考 Enum.XlFixedFormatType,目前仅支持导出图片和导出 PDF

返回值

属性数据类型说明
url
string
导出后的 url

示例 1:导出 PDF

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

  const app = instance.Application

  // 导出整个表格
  const workbookPdfUrl =
    await app.ActiveWorkbook.ActiveSheet.ExportAsFixedFormat()
  console.log(workbookPdfUrl)
}

示例 2:导出图片

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

  const app = instance.Application

  // 导出整个表格
  const workbookImgUrl =
    await app.ActiveWorkbook.ActiveSheet.ExportAsFixedFormat({
      Type: app.Enum.XlFixedFormatType.xlTypeIMG
    })
  console.log(workbookImgUrl)
}

Move()

移动工作表

语法

表达式.ActiveWorkbook.ActiveSheet.Move({ Before, After })

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

参数

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

示例

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

  const app = instance.Application

  await app.ActiveWorkbook.Sheets(1).Move({
    Before: null,
    After: await app.ActiveWorkbook.Sheets(2).Id
  })
}

Protect()

保护工作表使其不被修改

语法

表达式.ActiveWorkbook.ActiveSheet.Protect({ Password, DrawingObjects, Scenarios, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables })

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

参数

属性数据类型默认值必填说明
Password
String
指定工作表或工作簿的区分大小写密码的字符串。如果省略此参数,可以不使用密码地解除对工作表或工作簿的保护。否则,必须指定密码才能解除对工作表或工作簿的保护。如果忘记密码,则无法解除对工作表或工作簿的保护
DrawingObjects
Boolean
false
如果为 true,则保护形状
Scenarios
Boolean
true
如果为 true,则保护方案。此参数仅对工作表有效
AllowFormattingCells
Boolean
false
如果为 true,则允许用户格式化受保护工作表上的任何单元格
AllowFormattingColumns
Boolean
false
如果为 true,则允许用户格式化受保护工作表上的任何列
AllowFormattingRows
Boolean
false
如果为 true,则允许用户格式化受保护的工作表上的任何行
AllowInsertingColumns
Boolean
false
如果为 true,则允许用户在受保护工作表上插入列
AllowInsertingRows
Boolean
false
如果为 true,则允许用户在受保护工作表上插入行
AllowInsertingHyperlinks
Boolean
false
如果为 true,则允许用户在受保护的工作表上插入超链接
AllowDeletingColumns
Boolean
false
如果为 true,则允许用户在受保护的工作表上删除列,其中要删除的列中的每个单元格都处于解锁状态
AllowDeletingRows
Boolean
false
如果为 true,则允许用户在受保护的工作表上删除行,其中要删除的行中的每个单元格都处于解锁状态
AllowSorting
Boolean
false
如果为 true,则允许用户对受保护工作表进行排序。排序范围内的每个单元都必须处于解锁或不受保护的状态
AllowFiltering
Boolean
false
如果为 true,则允许用户在受保护的工作表上设置筛选。用户可以更改筛选条件,但无法启用或禁用自动筛选。 用户可以在现有自动筛选上设置筛选
AllowUsingPivotTables
Boolean
false
如果为 true,则允许用户在受保护的工作表上使用数据透视表

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 输入密码
  activeSheet.Protect({Password:'123456'});
}

Unprotect()

去除工作表或工作簿中的保护。如果工作表或工作簿不是受保护的,则此方法不起作用

语法

表达式.ActiveWorkbook.ActiveSheet.Unprotect({ Password })

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

参数

属性数据类型默认值必填说明
Password
String
设置的密码

示例

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

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 解除密码
  activeSheet.Unprotect('123456')
}

ResetClipBoard()

清除复制蚂蚁线

语法

表达式.ActiveWorkbook.ResetClipBoard({ Range })

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

示例

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

  const app = instance.Application
  const range = await app.Selection
  // 清除复制蚂蚁线
  await app.ActiveWorkbook.ResetClipBoard()
}