Skip to content

区域(Range)

表示一个单元格、一行、一列、一个包含单个或若干连续单元格区域的选定单元格范围

属性列表

属性说明
区域中的单元格,返回一个 Range 对象(可使用 Range 相关的属性、方法)
区域中第一列的列号
区域中最后一列的列号
区域中的列,返回一个 Range 对象(可使用 Range 相关的属性、方法)
区域宽度
区域中单元格的数量
包含指定区域的整列
包含指定区域的整行
代表一个区域内所有条件格式的集合,详见 FormatConditions
以 A1 样式表示法表示的对象的隐式交叉的公式
返回或设置区域的数组公式
行或者列的隐藏
设置区域的水平对齐方式,设置的值可以是 Enum.XlHAlign 中的值。
设置单元格缩进
从列 A 的左边缘到该区域的左边缘的距离
单元格的合并区域
区域内是否存在合并的单元格
获取或者设置区域的数字格式。
区域中第一行的行号
区域中最后一行的行号
区域高度
区域中的行,返回一个 Range 对象(可使用 Range 相关的属性、方法)
表达式:文档类型应用对象
从行 1 的上边缘到区域的上边缘之间的距离
代表工作表区域的数据有效性规则,详见 FormatConditions
表达式:文档类型应用对象
设置区域的垂直对齐方式,设置的值可以是 Enum.XlVAlign 中的值。
获取或者设置区域自动换行
返回多区域选择中的所有区域
返回区域的超链接对象

方法列表

方法说明
返回一个 Range 对象,表示区域中指定的位置
激活区域
添加评论
获取表示使用宏语言的区域引用的 String 值
对指定区域中的单元格执行自动填充
清除区域的评论
清除区域的内容
清除区域的样式
判断区域是否重叠
单元格、行、列的删除
单元格、行、列的新增
合并单元格
取消合并单元格
对指定区域进行迁移操作
粘贴方法的额外处理
选择区域
将区域导出成图片
在区域中查找特定信息,返回一个Range对象(可使用 Range 相关的属性、方法)
在区域中查找所有的特定信息,返回一个数组,包含所有匹配到的单元格地址
将区域的内容复制到剪贴板
从值区域中删除重复的值

Cells

区域中的单元格,返回一个 Range 对象(可使用 Range 相关的属性、方法)

语法

表达式.Range.Cells

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

示例

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

  const app = instance.Application

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

  // 单元格对象
  const cells = await range.Cells

  // 指定单元格
  const cell = await cells.Item(1)

  // 选中第 1 个单元格
  await cell.Select()
}

Column

区域中第一列的列号

语法

表达式.Range.Column

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

示例

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

  const app = instance.Application

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

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

ColumnEnd

区域中最后一列的列号

语法

表达式.Range.ColumnEnd

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

示例

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

  const app = instance.Application

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

  // 区域中最后一列的列号
  const columnEnd = await range.ColumnEnd
  console.log(columnEnd)
}

Columns

区域中的列,返回一个 Range 对象(可使用 Range 相关的属性、方法)

语法

表达式.Range.Columns

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

示例

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

  const app = instance.Application

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

  // 列对象
  const columns = await range.Columns

  // 指定列
  const column = await columns.Item(2)

  // 选中第 2 列
  await column.Select()
}

ColumnWidth

区域宽度

语法

表达式.Range.ColumnWidth

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

示例

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

  const app = instance.Application

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

  // 区域宽度
  range.ColumnWidth = 30
}

Count

区域中单元格的数量

语法

表达式.Range.Count

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

示例

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

  const app = instance.Application

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

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

EntireColumn

包含指定区域的整列

语法

表达式.Range.EntireColumn

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

示例

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

  const app = instance.Application

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

  // 获取该区域的行
  const entireColumn = range.EntireColumn

  // 选择这列
  await entireColumn.Select()
}

EntireRow

包含指定区域的整行

语法

表达式.Range.EntireRow

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

示例

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

  const app = instance.Application

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

  // 获取该区域的行
  const entireRow = range.EntireRow

  // 选择这一行
  await entireRow.Select()
}

FormatConditions

代表一个区域内所有条件格式的集合,详见 FormatConditions

语法

表达式.Range.FormatConditions

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

示例

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

  const app = instance.Application

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

  // 条件格式对象
  const formatConditions = await range.FormatConditions
}

Formula

以 A1 样式表示法表示的对象的隐式交叉的公式

语法

表达式.Range.Formula

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

示例

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

  const app = instance.Application

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

  // 设置公式:A2 = A1 + B1
  range.Formula = '=A1+B1'
}

FormulaArray

返回或设置区域的数组公式

语法

表达式.Range.FormulaArray

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

示例

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

  const app = instance.Application

  // 区域对象
  const range = await app.Range('A2:B2')

  // 设置公式:A2 到 B2 的值为 A1 + B1 的和
  range.FormulaArray = '=Sum(A1:B1)'

  // 获取该公式
  const formulaArray = await range.FormulaArray
  console.log(formulaArray)
}

Hidden

行或者列的隐藏

语法

表达式.Range.Hidden

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

示例

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

  const app = instance.Application

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

  // 获取整列
  const entireColumn = await range.Rows.EntireColumn
  console.log(entireColumn)

  // 隐藏该列
  entireColumn.Hidden = true
}

HorizontalAlignment

设置区域的水平对齐方式,设置的值可以是 Enum.XlHAlign 中的值。

语法

表达式.Range.HorizontalAlignment

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

示例

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

  const app = instance.Application

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

  // 设置对齐方式:居中
  range.HorizontalAlignment = await app.Enum.XlHAlign.xlHAlignCenter

  setTimeout(async () => {
    // 获取对齐方式
    const horizontalAlignment = await range.HorizontalAlignment
    console.log(horizontalAlignment)
  }, 3000)
}

IndentLevel

设置单元格缩进

语法

表达式.Range.IndentLevel

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

示例

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

  const app = instance.Application

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

  // 写入值到单元格中
  range.IndentLevel = 10
}

Left

从列 A 的左边缘到该区域的左边缘的距离

语法

表达式.Range.Left

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

示例

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

  const app = instance.Application

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

  // 左边距
  const left = await range.Left
  console.log(left)
}

MergeArea

单元格的合并区域

语法

表达式.Range.MergeArea

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

示例

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

  const app = instance.Application

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

  // 合并单元格
  await range.Merge()

  // 页面加载合并后,5 秒内点击空白区域,5 秒后自动选择该区域
  setTimeout(async () => {
    // 单元格的合并区域
    const mergeArea = await range.MergeArea()
    mergeArea.Select()
  }, 5000)
}

MergeCells

区域内是否存在合并的单元格

语法

表达式.Range.MergeCells

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

示例

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

  const app = instance.Application

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

  // 合并单元格
  await range.Merge()

  // 区域内是否存在合并的单元格
  const mergeCells = await range.MergeCells
  console.log(mergeCells)
}

NumberFormat

获取或者设置区域的数字格式。

在获取上,如果指定区域中的所有单元格的数字格式不一致,则此属性返回 null

在设置上,为了让用户设置更方便,我们列举了 WebOffice 上常用的值:

  • 常规:G/通用格式
  • 数值:0.00_);[红色](0.00)
  • 货币:¥#,##0.00_);[红色](¥#,##0.00)
  • 会计专用:_ ¥* #,##0.00_ ;_ ¥* -#,##0.00_ ;_ ¥* "-"??_ ;_ @_
  • 短日期:yyyy/m/d;@
  • 长日期:yyyy"年"m"月"d"日";@
  • 时间:h:mm:ss;@
  • 百分比:0.00%
  • 分数:## ?/?
  • 科学技术:0.00E+00
  • 文本:@
  • 千位分隔样式:_ * #,##0.00_ ;_ * -#,##0.00_ ;_ * "-"??_ ;_ @_

这样在调用 API 设置数字格式的时候,可以复制上面的值进行设置,例如设置数字格式为常规:Range.NumberFormat = 'G/通用格式'

语法

表达式.Range.NumberFormat

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

示例

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

  const app = instance.Application

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

  // 获取区域数字格式
  const numberFormat = await range.NumberFormat
  console.log('当前区域数字格式:', numberFormat)

  // 设置区域数字格式为文本
  range.NumberFormat = '@'
}

Item()

返回一个 Range 对象,表示区域中指定的位置

语法

表达式.Range.Item({ RowIndex, ColumnIndex })

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

参数

属性数据类型默认值必填说明
RowIndex
Number
如果提供了第二个参数,则返回的单元格的相对行号。如果未提供第二个参数,则为要返回的子范围的索引
ColumnIndex
Number
要返回的单元格的相对列号

示例

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

  const app = instance.Application

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

  // 区域子项:B2
  const item1 = await range.Item(2, 2)
  await item1.Select()
}

Row

区域中第一行的行号

语法

表达式.Range.Row

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

示例

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

  const app = instance.Application

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

  // 区域中第一行的行号
  const row = await range.Row
  console.log(row)
}

RowEnd

区域中最后一行的行号

语法

表达式.Range.RowEnd

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

示例

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

  const app = instance.Application

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

  // 区域中最后一行的行号
  const rowEnd = await range.RowEnd
  console.log(rowEnd)
}

RowHeight

区域高度

语法

表达式.Range.RowHeight

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

示例

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

  const app = instance.Application

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

  // 区域高度
  range.RowHeight = 100
}

Rows

区域中的行,返回一个 Range 对象(可使用 Range 相关的属性、方法)

语法

表达式.Range.Rows

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

示例

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

  const app = instance.Application

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

  // 行对象
  const rows = await range.Rows

  // 指定行
  const row = await rows.Item(2)

  // 选中第 2 行
  await row.Select()
}

Text

【只读】读取单元格格式化文本

语法

表达式.Range.Text

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

示例

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

  const app = instance.Application

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

  // 【只读】读取range区域的第1行,第2列单元格格式化文本
  const text = await range.Cells(1, 2).Text
  console.log(text)
}

Top

从行 1 的上边缘到区域的上边缘之间的距离

语法

表达式.Range.Top

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

示例

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

  const app = instance.Application

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

  // 上边距
  const top = await range.Top
  console.log(top)
}

Validation

代表工作表区域的数据有效性规则,详见 FormatConditions

语法

表达式.Range.Validation

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

示例

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

  const app = instance.Application

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

  // 数据有效性对象
  const validation = await range.Validation
}

Value

【赋值】写入值到单元格中

语法

表达式.Range.Value

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

示例

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

  const app = instance.Application

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

  // 写入值到单元格中
  range.Value = 'WebOffice'
}

VerticalAlignment

设置区域的垂直对齐方式,设置的值可以是 Enum.XlVAlign 中的值。

语法

表达式.Range.VerticalAlignment

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

示例

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

  const app = instance.Application

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

  // 设置对齐方式:底部对齐
  range.VerticalAlignment = await app.Enum.XlVAlign.xlVAlignBottom

  setTimeout(async () => {
    // 获取对齐方式
    const horizontalAlignment = await range.VerticalAlignment
    console.log(horizontalAlignment)
  }, 3000)
}

WrapText

获取或者设置区域自动换行

语法

表达式.Range.WrapText

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

示例

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

  const app = instance.Application

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

  // 获取区域自动换行
  const wrapText = await range.WrapText
  console.log('区域是否自动换行:', wrapText)

  // 设置区域自动换行
  range.WrapText = true
}

Areas

返回多区域选择中的所有区域

语法

表达式.Range.Areas

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

示例

js
//@file=base.xlsx
async function example() {
  await instance.ready();
  const app = instance.Application;
  // 前置条件存在选中的选区
  // 选区对象
  const range = await app.Selection;
  // 获取选中的所有区域
  const areas = await range.Areas;
  // 选中区域的数量
  const count = await areas.Count;
  // 选中的第一个区域
  const area = await areas.Item(1)
  const address = await area.Address()
  console.log(area,address)
}

返回区域的超链接对象

语法

表达式.Range.Hyperlinks

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

示例

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

  const app = instance.Application;
  
  // 选区对象
  const range = await app.Selection;

  // 返回超链接对象
  const hyperlinks = await range.Hyperlinks;
  
  // 获取超链接单个对象
  const hyperlink = await hyperlinks.Item(1)

  console.log(await hyperlink.Address)
}

Activate()

激活区域

语法

表达式.Range.Activate()

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

示例

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

  const app = instance.Application

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

  // 激活区域 A1
  range.Activate()
}

AddComment()

添加评论

语法

表达式.Range.AddComment(Text)

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

参数

属性数据类型默认值必填说明
Text
String
评论文本

示例

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

  const app = instance.Application

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

  // 给 A1 区域添加评论
  range.AddComment('WebOffice')
}

Address()

获取表示使用宏语言的区域引用的 String 值

语法

表达式.Range.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

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

参数

属性数据类型默认值必填说明
RowAbsolute
Boolean
若为 true,以绝对引用的形式返回引用的行部分。默认值为 true
ColumnAbsolute
Boolean
若为 true,以绝对引用的形式返回引用的列部分。默认值为 true
ReferenceStyle
Enum
引用样式。默认值为 xlA1,更多可看 Enum.XlReferenceStyle
External
Boolean
若为 true,返回外部引用。若为 false,返回本地引用。默认值为 false
RelativeTo
Range
如果 RowAbsolute 和 ColumnAbsolute 为 false,且 ReferenceStyle 是 xlR1C1,则必须为相对引用包含一个起点。此参数是一个定义起点的 Range 对象

示例

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

  const app = instance.Application

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

  // 获取宏语言的区域引用的 String 值
  const address1 = await range.Address()
  console.log('address1:', address1)

  const address2 = await range.Address(false, false)
  console.log('address2:', address2)

  const address3 = await range.Address(
    true,
    true,
    app.Enum.XlReferenceStyle.xlR1C1
  )
  console.log('address3:', address3)
}

AutoFill()

对指定区域中的单元格执行自动填充

语法

表达式.Range.AutoFill({ Destination, Type })

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

参数

属性数据类型默认值必填说明
Destination
Range
目标区域。目标区域必须包含源区域
Type
Enum
Enum.XlAutoFillType.xlFillDefault
填充类型,详细可见 Enum.XlAutoFillType

示例

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

  const app = instance.Application

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

  // 要填充的单元格
  const fillRange = await app.Range('A1:A20')

  // 对指定区域中的单元格执行自动填充
  await range.AutoFill(fillRange)
}

ClearComments()

清除区域的评论

语法

表达式.Range.ClearComments()

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

示例

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

  const app = instance.Application

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

  // 清除区域的评论
  await range.ClearComments()
}

ClearContents()

清除区域的内容

语法

表达式.Range.ClearContents()

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

示例

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

  const app = instance.Application

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

  // 清除区域的内容
  await range.ClearContents()
}

ClearFormats()

清除区域的样式

语法

表达式.Range.ClearFormats()

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

示例

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

  const app = instance.Application

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

  // 清除区域的样式
  await range.ClearFormats()
}

Contain()

判断区域是否重叠

语法

表达式.Range.Contain({ Range })

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

参数

属性数据类型默认值必填说明
Range
Range
Range 对象,另一块区域

示例

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

  const app = instance.Application

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

  // 第二块区域对象
  const newRange = await app.Range('A1:B4')

  // 判断是否重叠
  const contain = await range.Contain(newRange)
  console.log(contain)
}

Delete()

单元格、行、列的删除

语法

表达式.Range.Delete()

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

示例:删除行

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

  const app = instance.Application

  // 区域对象
  const range = await app.Range('B5:D10')

  // 选择区域的所有行并删除
  await range.EntireRow.Delete()
}

示例:删除列

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

  const app = instance.Application

  // 区域对象
  const range = await app.Range('B5:D10')

  // 选择区域的所有行并删除
  await range.EntireColumn.Delete()
}

Insert()

单元格、行、列的新增

语法

表达式.Range.Insert()

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

示例:新增行

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

  const app = instance.Application

  // 区域对象
  const range = await app.Range('B5:D10')

  // 选择区域的所有行并在该范围新增
  await range.EntireRow.Insert()
}

示例:新增列

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

  const app = instance.Application

  // 区域对象
  const range = await app.Range('B5:D10')

  // 选择区域的所有行并在该范围新增
  await range.EntireColumn.Insert()
}

Merge()

合并单元格

语法

表达式.Range.Merge({ Across })

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

参数

属性数据类型默认值必填说明
Across
Boolean
false
如果设置为 true,则将指定区域中每一行的单元格合并为一个单独的合并单元格

示例

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

  const app = instance.Application

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

  // 合并单元格
  await range.Merge()
}

UnMerge()

取消合并单元格

语法

表达式.Range.UnMerge({ CancelCenter })

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

参数

属性数据类型默认值必填说明
CancelCenter
Boolean
false
是否合并居中

示例

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

  const app = instance.Application

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

  // 合并单元格
  await range.Merge()

  setTimeout(async () => {
    // 取消合并单元格
    await range.UnMerge()
  }, 3000)
}

Offset()

对指定区域进行迁移操作

语法

表达式.Range.Offset(RowOffset, ColumnOffset)

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

参数

属性数据类型默认值必填说明
RowOffset
Number
0
区域偏移的行数:可以是正值、负值或零。正值表示向下偏移,负值表示向上偏移
ColumnOffset
Number
0
区域偏移的列数:可以是正值、负值或零。正值表示向右偏移,负值表示向左偏移

示例

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

  const app = instance.Application

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

  // 对指定区域进行迁移操作
  const newRange = await range.Offset(2, 2)
  await newRange.Select()
}

PasteSpecial()

粘贴方法的额外处理

语法

表达式.Range.PasteSpecial()

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

参数

属性数据类型默认值必填说明
Paste
Enum.XlPasteType
要粘贴的区域部分 更多可看 Enum.XlPasteType
Operation
Enum.XlPasteSpecialOperation
粘贴操作 更多可看 Enum.XlPasteSpecialOperation
SkipBlanks
bool
false
如果为 True,则不将剪贴板上区域中的空白单元格粘贴到目标区域中
Transpose
bool
false
如果为 True,则在粘贴区域时转置行和列

示例

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

  const app = instance.Application

  // 选区
  const range = await app.Selection

  // 粘贴到range格,并相加
  await range.PasteSpecial(
    app.Enum.XlPasteType.xlPasteValues,
    app.Enum.XlPasteSpecialOperation.xlPasteSpecialOperationAdd
  )
}

Select()

选择区域

语法

表达式.Range.Select()

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

参数

属性数据类型默认值必填说明
ActiveCell
Object
选中区域内的活动单元格 ActiveCell 格式为{row: number, col: number} row-选中区域内活动单元格的行数 col-选中区域内活动单元格的列数(超出了选中区域的范围则默认选中区域的第一个单元格)
Twinkle
Boolean
false
是否显示闪烁动画

示例

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

  const app = instance.Application

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

  // 选择区域 A1
  range.Select()

  // 3 秒后选择区域 A1:D2
  setTimeout(async () => {
    const newRange = await app.Range('B1:D2')
    newRange.Select()
  }, 5000)
}

示例

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

  const app = instance.Application

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

  // 选择区域 A1 并且设置闪烁动画
  range.Select(null, true)

  // 3 秒后选择区域 B1:D2 并设置选中区域第二行第二列为活动单元格
  setTimeout(async () => {
    const newRange = await app.Range('B1:D2')
    newRange.Select({ row: 2, col: 2 }, true)
  }, 5000)
}

ToImageDataURL()

将区域导出成图片

语法

表达式.Range.ToImageDataURL()

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

示例

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

  const app = instance.Application

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

  // 将区域导出成图片
  const img = await range.ToImageDataURL()
  console.log(img)
}

Find()

JSSDK: v1.1.19+ 支持 在区域中查找特定信息,返回一个Range对象(可使用 Range 相关的属性、方法)

语法

表达式.Range.Find({ What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat })

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

参数

属性数据类型默认值必填说明
What
String
要搜索的数据
After
Range
表示搜索过程将从其之后开始进行的单元格,如果不指定该参数,搜索将从区域的左上角的单元格之后开始
LookIn
Enum
Enum.LookIn.etSmart
查找的类型,更多可看 Enum.LookIn
LookAt
Enum
Enum.LookAt.etPart
匹配全部文本或者匹配任一部分文本,更多可看 Enum.LookAt
SearchOrder
Enum
Enum.SearchOrder.etByRows
查找的顺序,更多可看 Enum.SearchOrder
SearchDirection
Enum
Enum.SearchDirection.etNext
查找的方向,更多可看 Enum.SearchDirection
MatchCase
bool
false
如果为 True,则搜索区分大小写
MatchByte
bool
false
如果为 True,则双字节字符只与双字节字符匹配。如果为 False,则双字节字符可与其对等的单字节字符匹配
SearchFormat
Object
搜索的格式

示例

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

  const app = instance.Application;

  // 单元格对象,包含所有单元格
  const cells = await app.Cells;
  
  // 查找
  let range = await cells.Find('123');

  // 查找下一个
  range = await cells.Find('123', range);

  // 选中查到的单元格
  await range.Select();
}

FindAll()

JSSDK: v1.1.19+ 支持 在区域中查找所有的特定信息,返回一个数组,包含所有匹配到的单元格地址

语法

表达式.Range.FindAll({ What, LookIn, LookAt, SearchOrder, MatchCase, MatchByte, SearchRange })

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

参数

属性数据类型默认值必填说明
What
String
要搜索的数据
LookIn
Enum
Enum.LookIn.etSmart
查找的类型,更多可看 Enum.LookIn
LookAt
Enum
Enum.LookAt.etPart
匹配全部文本或者匹配任一部分文本,更多可看 Enum.LookAt
SearchOrder
Enum
Enum.SearchOrder.etByRows
查找的顺序,更多可看 Enum.SearchOrder
MatchCase
bool
false
如果为 True,则搜索区分大小写
MatchByte
bool
false
如果为 True,则双字节字符只与双字节字符匹配。如果为 False,则双字节字符可与其对等的单字节字符匹配
SearchRange
Enum
Enum.FindScope.etSheet
查找的范围,更多可看 Enum.FindScope

示例

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

  const app = instance.Application;

  // 单元格对象,包含所有单元格
  const cells = await app.Cells;
  
  // 查找,返回所有包含'123'的单元格地址
  let results = await cells.FindAll('123');

  // 查到的第一个单元格对象
  const range = await app.Range(results[0]);
  
  // 选中单元格
  await range.Select();
}

Copy()

将区域的内容复制到剪贴板

语法

表达式.Range.Copy()

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

示例

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

  const app = instance.Application;

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

  //将区域的内容复制到剪贴板
  await range.Copy();
  // 内容已复制到剪切板,通过 Ctrl + V 可以粘贴
}

RemoveDuplicates()

从值区域中删除重复的值

语法

表达式.Range.RemoveDuplicates({ Columns, Header })

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

参数

属性数据类型默认值必填说明
Columns
Array.<Number>
包含重复信息的列的索引数组
Header
Enum
指定第一行是否包含标题信息。 xlNo 是默认值;如果您希望表格尝试确定标题,请指定 xlGuess。详细可参考Enum.XlYesNoGuess

示例

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

    const app = instance.Application;

    // 区域对象
    const range = await app.Range('A1:D2');
    
    //删除重复值
    await range.RemoveDuplicates([1,2]);
}