工作表(Sheet)

工作表对象

属性列表

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

方法列表

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

AllowEditRanges

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

数据类型

AllowEditRanges - 可编辑区域集合对象

示例

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
}

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)中添加一个可编辑区域

参数

属性数据类型默认值必填说明
RangeObjectRange 对象
TitleString标题
PasswordString密码

返回类型

示例

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()

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

参数

属性数据类型默认值必填说明
IndexNumber第 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 })

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

参数

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

返回值

属性数据类型说明
urlstring导出后的 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 })

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

参数

属性数据类型默认值必填说明
Beforenumbernull验将放置移动的工作表之前的工作表 ID。如果指定 After ,则不能指定 Before。
Afternumbernull将放置移动的工作表后的工作表 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 })

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

参数

属性数据类型默认值必填说明
PasswordString指定工作表或工作簿的区分大小写密码的字符串。如果省略此参数,可以不使用密码地解除对工作表或工作簿的保护。否则,必须指定密码才能解除对工作表或工作簿的保护。如果忘记密码,则无法解除对工作表或工作簿的保护
DrawingObjectsBooleanfalse如果为 true,则保护形状
ScenariosBooleantrue如果为 true,则保护方案。此参数仅对工作表有效
AllowFormattingCellsBooleanfalse如果为 true,则允许用户格式化受保护工作表上的任何单元格
AllowFormattingColumnsBooleanfalse如果为 true,则允许用户格式化受保护工作表上的任何列
AllowFormattingRowsBooleanfalse如果为 true,则允许用户格式化受保护的工作表上的任何行
AllowInsertingColumnsBooleanfalse如果为 true,则允许用户在受保护工作表上插入列
AllowInsertingRowsBooleanfalse如果为 true,则允许用户在受保护工作表上插入行
AllowInsertingHyperlinksBooleanfalse如果为 true,则允许用户在受保护的工作表上插入超链接
AllowDeletingColumnsBooleanfalse如果为 true,则允许用户在受保护的工作表上删除列,其中要删除的列中的每个单元格都处于解锁状态
AllowDeletingRowsBooleanfalse如果为 true,则允许用户在受保护的工作表上删除行,其中要删除的行中的每个单元格都处于解锁状态
AllowSortingBooleanfalse如果为 true,则允许用户对受保护工作表进行排序。排序范围内的每个单元都必须处于解锁或不受保护的状态
AllowFilteringBooleanfalse如果为 true,则允许用户在受保护的工作表上设置筛选。用户可以更改筛选条件,但无法启用或禁用自动筛选。 用户可以在现有自动筛选上设置筛选
AllowUsingPivotTablesBooleanfalse如果为 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 })

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

参数

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

示例

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