本文介绍与表格文档Range相关的API。
Range
获取一个单元格、一行、一列、一个包含单个或若干连续单元格区域的选定单元格范围。
语法
表达式.Range
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); }
方法
Range.Item()
通过Item()
方法,您可以获取指定区域中的指定位置。
语法
表达式.Range.Item({ RowIndex, ColumnIndex })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
RowIndex
Number
是
子范围的索引或相对行号。
如果提供了参数
ColumnIndex
,则此参数为指定单元格的相对行号。如果未提供参数
ColumnIndex
,则此参数为子范围的索引。
ColumnIndex
Number
否
指定单元格的相对列号。
示例
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(); }
Range.Activate()
通过Activate()
方法,您可以激活指定区域。
语法
表达式.Range.Activate()
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //激活区域A1 range.Activate(); }
Range.AddComment()
通过AddComment()
方法,您可以给指定区域添加评论。
语法
表达式.Range.AddComment({ Text })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Text
String
否
评论文本。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //给区域A1添加评论 range.AddComment('Aliyun'); }
Range.Address()
通过Address()
方法,您可以获取表示使用宏语言的区域引用的String值。
语法
表达式.Range.Address({ RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
RowAbsolute
Boolean
否
是否以绝对引用的形式返回引用的行部分。取值范围如下:
true(默认):是。
false:否。
ColumnAbsolute
Boolean
否
是否以绝对引用的形式返回引用的列部分。取值范围如下:
true(默认):是。
false:否。
ReferenceStyle
Enum
否
引用样式,默认值为xlA1。更多信息,请参见XlReferenceStyle。
External
Boolean
否
返回外部引用或本地引用。取值范围如下:
false(默认):返回本地引用。
true:返回外部引用。
RelativeTo
Range
否
定义起始点的Range对象。
如果
RowAbsolute
和ColumnAbsolute
取值均为false
,且ReferenceStyle
取值为xlR1C1
,则必须包含一个起始点。示例
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, -4150); console.log('address3:', address3); }
Range.AutoFill()
通过AutoFill()
方法,您可以对指定区域中的单元格执行自动填充。
语法
表达式.Range.AutoFill({ Destination, Type })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Destination
Range
否
目标区域。目标区域必须包含源区域。
Type
Enum
否
填充类型。默认值为
Enum.XlAutoFillType.xlFillDefault
。更多信息,请参见XlAutoFillType。示例
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); }
Range.ClearComments()
通过ClearComments()
方法,您可以清除指定区域的评论。
语法
表达式.Range.ClearComments()
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:A2'); //清除该区域的评论 await range.ClearComments(); }
Range.ClearContents()
通过ClearContents()
方法,您可以清除指定区域的内容。
语法
表达式.Range.ClearContents()
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:A2'); //清除该区域的内容 await range.ClearContents(); }
Range.Contain()
通过Contain()
方法,您可以判断区域对象是否重叠。
语法
表达式.Range.Contain({ Range })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Range
Range
是
另一块区域对象。
示例
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); }
Range.Merge()
通过Merge()
方法,您可以合并指定区域中的单元格。
语法
表达式.Range.Merge({ Across })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Across
Boolean
是
是否将指定区域中每一行的单元格合并为一个单元格。取值范围如下:
false(默认):否。
true:是。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:D2'); //合并单元格 await range.Merge(); }
Range.UnMerge()
通过UnMerge()
方法,您可以取消合并指定区域中的单元格。
语法
表达式.Range.UnMerge({ CancelCenter })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
CancelCenter
Boolean
否
是否将指定区域中的单元格合并居中。取值范围如下:
false(默认):否。
true:是。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:D2'); setTimeout(async () => { //取消合并单元格 await range.UnMerge(); }, 3000); }
Range.Offset()
通过Offset()
方法,您可以对指定区域的内容进行迁移操作。
语法
表达式.Range.Offset({ RowOffset, ColumnOffset })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
RowOffset
Number
否
区域迁移的行数。取值范围下:
正整数:向下迁移。
负整数:向上迁移。
0(默认):不迁移。
ColumnOffset
Number
否
区域迁移的列数。取值范围如下:
正整数:向右迁移。
负整数:向左迁移。
0(默认):不迁移。
示例
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(); }
Range.Select()
通过Select()
方法,您可以选中指定区域中的活动单元格。
语法
表达式.Range.Select()
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
ActiveCell
Object
否
选中区域内的活动单元格ActiveCell,格式为
{row: number, col: number}
。参数说明如下:row:选中区域内活动单元格的行数。
col:选中区域内活动单元格的列数。
说明如果超出了选中区域的范围则默认选中区域的第一个单元格。
Twinkle
Boolean
否
是否设置显示闪烁动画。取值范围如下:
false(默认):否。
true:是。
示例
示例1
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //选中区域A1 range.Select(); //5000 ms后选择区域B1:D2 setTimeout(async () => { const newRange = await app.Range('B1:D2'); newRange.Select(); }, 5000); }
示例2
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //选中区域A1并且设置闪烁动画 range.Select(null, true); //5000 ms后选择区域B1:D2并设置选中区域第二行第二列为活动单元格 setTimeout(async () => { const newRange = await app.Range('B1:D2'); newRange.Select({row: 2, col: 2}, true); }, 5000); }
Range.ToImageDataURL()
通过ToImageDataURL()
方法,您可以将指定区域导出为对应的图片。
语法
表达式.Range.ToImageDataURL()
表达式:文档类型应用对象
示例
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); }
Range.Insert()
通过Insert()
方法,您可以在指定区域新增行、列或者单元格。
语法
表达式.Range.Insert()
表达式:文档类型应用对象
示例
新增行
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('B5:D10'); //选择该区域的所有行并在该范围上方新增行 await range.EntireRow.Insert(); }
新增列
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('B5:D10'); //选择该区域的所有列并在该范围左侧新增列 await range.EntireColumn.Insert(); }
Range.PasteSpecial()
通过PasteSpecial()
方法,您可以粘贴已复制到指定范围的Range对象。
JS-SDK V1.1.12及以上版本支持此功能。
语法
表达式.Range.PasteSpecial()
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Paste
Enum.XlPasteType
否
粘贴类型。更多信息,请参见XlPasteType。
Operation
Enum.XlPasteSpecialOperation
否
粘贴操作。更多信息,请参见XlPasteSpecialOperation。
SkipBlanks
Boolean
否
是否将剪贴板中的空白单元格粘贴到目标区域中。取值范围如下:
false(默认):否。
true:是。
Transpose
Boolean
否
是否在粘贴时转置行和列。取值范围如下:
false(默认):否。
true:是。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取选取对象 const range = await app.Selection //粘贴已复制到指定范围的Range对象 await range.PasteSpecial(); }
Range.Find()
通过Find()
方法,您可以在区域中查找特定信息,返回一个Range对象(可使用Range相关的属性、方法)。
语法
表达式.Range.Find({ What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
What
String
是
要搜索的数据。
After
Range
否
表示搜索过程将从其之后开始进行的单元格,如果不指定该参数,搜索将从区域的左上角的单元格之后开始。
LookIn
Enum
否
查找的类型,默认值为
Enum.LookIn.etSmart
。更多信息,请参见LookIn。LookAt
Enum
否
匹配全部文本或者匹配任一部分文本,默认值为
Enum.LookAt.etPart
。更多信息,请参见LookAt。SearchOrder
Enum
否
查找的顺序。默认值为
Enum.SearchOrder.etByRows
。更多信息,请参见SearchOrder。SearchDirection
Enum
否
查找的方向,默认值为
Enum.SearchDirection.etNext
。更多信息,请参见SearchDirection。MatchCase
Boolean
否
搜索是否区分大小写。取值范围如下:
false(默认):否,不区分大小写。
true:是,区分大小写。
MatchByte
Boolean
否
双字节字符是否只与双字节字符匹配。取值范围如下:
true:是,双字节字符只与双字节字符匹配。
false(默认):否,双字节字符可与其对等的单字节字符匹配。
SearchFormat
Object
否
搜索的格式。
示例
//@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(); }
Range.FindAll()
通过FindAll()
方法,您可以在区域中查找所有的特定信息,返回一个数组,包含所有匹配到的单元格地址。
语法
表达式.Range.FindAll({ What, LookIn, LookAt, SearchOrder, MatchCase, MatchByte, SearchRange })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
What
String
是
要搜索的数据。
LookIn
Enum
否
查找的类型,默认值为
Enum.LookIn.etSmart
。更多信息,请参见LookIn。LookAt
Enum
否
匹配全部文本或者匹配任一部分文本,默认值为
Enum.LookAt.etPart
。更多信息,请参见LookAt。SearchOrder
Enum
否
查找的顺序。默认值为
Enum.SearchOrder.etByRows
。更多信息,请参见SearchOrder。MatchCase
Boolean
否
搜索是否区分大小写。取值范围如下:
false(默认):否,不区分大小写。
true:是,区分大小写。
MatchByte
Boolean
否
双字节字符是否只与双字节字符匹配。取值范围如下:
true:是,双字节字符只与双字节字符匹配。
false(默认):否,双字节字符可与其对等的单字节字符匹配。
SearchRange
Enum
否
查找的范围,默认值为
Enum.FindScope.etSheet
。更多信息,请参见FindScope。示例
//@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(); }
Range.Copy()
通过Copy()
方法,您可以将区域的内容复制到剪贴板。
JS-SDK V1.1.19及以上版本支持此功能。
语法
表达式.Range.Copy()
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; // 区域对象 const range = await app.Range('A1:D2'); //将区域的内容复制到剪贴板 await range.Copy(); // 内容已复制到剪切板,通过 Ctrl + V 可以粘贴 }
Range.RemoveDuplicates()
通过RemoveDuplicates()
方法,您可以从值区域中删除重复的值。
JS-SDK V1.1.19及以上版本支持此功能。
语法
表达式.Range.RemoveDuplicates({ Columns, Header })
表达式:文档类型应用对象
参数
属性 | 数据类型 | 是否必填 | 描述说明 |
Columns |
| 是 | 包含重复信息的列的索引数组 |
Header | Enum | 否 | 指定第一行是否包含标题信息。 xlNo 是默认值;如果您希望表格尝试确定标题,请指定 xlGuess。详细可参Enum.XlYesNoGuess |
示例
async function example() { await instance.ready(); const app = instance.Application; // 区域对象 const range = await app.Range('A1:D2'); //删除重复值 await range.RemoveDuplicates([1,2]); }
属性
Range.Cells
通过Cells
属性,您可以获取指定区域中的指定单元格。
语法
表达式.Range.Cells
表达式:文档类型应用对象
示例
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); window.cells = cells; //选中该单元格 await cell.Select(); }
Range.Column
通过Column
属性,您可以获取指定区域中第一列的列号。
语法
表达式.Range.Column
表达式:文档类型应用对象
示例
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); }
Range.ColumnEnd
通过ColumnEnd
属性,您可以获取指定区域中最后一列的列号。
语法
表达式.Range.ColumnEnd
表达式:文档类型应用对象
示例
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); }
Range.ColumnWidth
通过ColumnWidth
属性,您可以设置指定区域的宽度。
语法
表达式.Range.ColumnWidth
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:B2'); //设置区域宽度,单位为像素 range.ColumnWidth = 30; }
Range.Columns
通过Columns
属性,您可以获取指定区域中的指定列。
语法
表达式.Range.Columns
表达式:文档类型应用对象
示例
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); //选中该列 await column.Select(); }
Range.Count
通过Count
属性,您可以获取指定区域中的单元格数量。
语法
表达式.Range.Count
表达式:文档类型应用对象
示例
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); }
Range.EntireColumn
通过EntireColumn
属性,您可以获取包含指定区域的整列。
语法
表达式.Range.EntireColumn
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取包含该区域的整列 const entireColumn = range.EntireColumn; //选中该列 await entireColumn.Select(); }
Range.EntireRow
通过EntireRow
属性,您可以获取包含指定区域的整行。
语法
表达式.Range.EntireRow
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取包含该区域的整行 const entireRow = range.EntireRow; //选中该行 await entireRow.Select(); }
Range.Formula
通过Formula
属性,您可以以A1样式表示法表示指定区域对象的隐式交叉公式。
语法
表达式.Range.Formula
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A2'); //设置公式为A2=A1+B1 range.Formula = '=A1+B1'; }
Range.FormulaArray
通过FormulaArray
属性,您可以设置或获取指定区域的数组公式。
语法
表达式.Range.FormulaArray
表达式:文档类型应用对象
示例
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); }
Range.Hidden
通过Hidden
属性,您可以设置是否隐藏包含指定区域的整行或整列。
语法
表达式.Range.Hidden = Boolean
表达式:文档类型应用对象
Boolean
取值为true
时,表示隐藏整行或整列,取值为false
时,表示显示整行或整列。示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取包含该区域的整列 const entireColumn = range.EntireColumn; //隐藏该列 entireColumn.Hidden = true; }
Range.HorizontalAlignment
通过HorizontalAlignment
属性,您可以设置和获取指定区域的水平对齐方式。更多信息,请参见XlHAlign。
语法
表达式.Range.HorizontalAlignment
表达式:文档类型应用对象
示例
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 () => { //3000 ms后获取对齐方式 const horizontalAlignment = await range.HorizontalAlignment; console.log(horizontalAlignment); }, 3000); }
Range.Left
通过Left
属性,您可以获取A列的左边缘到指定区域的左边缘的距离。
语法
表达式.Range.Left
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('B2'); //设置对齐方式为居中对齐 range.HorizontalAlignment = await app.Enum.XlHAlign.xlHAlignCenter; //获取A列的左边缘到B2的左边缘的距离 const left = await range.Left; console.log(left); }
Range.MergeArea
通过MergeArea
属性,您可以获取单元格的合并区域。
语法
表达式.Range.MergeArea
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:D2'); //合并单元格 await range.Merge(); setTimeout(async () => { //5000 ms后获取单元格的合并区域 const mergeArea = await range.MergeArea; mergeArea.Select(); }, 5000); }
Range.MergeCells
通过MergeCells
属性,您可以查看指定区域中是否存在合并的单元格。
语法
表达式.Range.MergeCells
表达式:文档类型应用对象
示例
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); }
Range.Row
通过Row
属性,您可以获取指定区域中第一行的行号。
语法
表达式.Range.Row
表达式:文档类型应用对象
示例
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); }
Range.RowEnd
通过RowEnd
属性,您可以获取指定区域中最后一行的行号。
语法
表达式.Range.RowEnd
表达式:文档类型应用对象
示例
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); }
Range.RowHeight
通过RowHeight
属性,您可以设置指定区域的高度。
语法
表达式.Range.RowHeight
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:B2'); //设置该区域的高度,单位为像素 range.RowHeight = 100; }
Range.Rows
通过Rows
属性,您可以获取指定区域中的指定行。
语法
表达式.Range.Rows
表达式:文档类型应用对象
示例
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); //选中该行 await row.Select(); }
Range.Text
通过Text
属性,您可以读取指定单元格的格式化文本,此为只读属性。
语法
表达式.Range.Text
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1:B2'); //读取单元格的格式化文本 const text = await range.Text; console.log(text); }
Range.Top
通过Top
属性,您可以获取第一行的上边缘到指定区域的上边缘之间的距离。
语法
表达式.Range.Top
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('B2'); //获取第一行的上边缘到指定区域的上边缘之间的距离 const top = await range.Top; console.log(top); }
Range.VerticalAlignment
通过VerticalAlignment
属性,您可以设置和获取指定区域的垂直对齐方式。更多信息,请参见XlVAlign。
语法
表达式.Range.VerticalAlignment
表达式:文档类型应用对象
示例
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 () => { //3000 ms后获取对齐方式 const horizontalAlignment = await range.VerticalAlignment; console.log(horizontalAlignment); }, 3000); }
Range.WrapText
获取或者设置区域自动换行。
语法
表达式.Range.WrapText
表达式:文档类型应用对象
示例
//@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; }
Range.NumberFormat
通过NumberFormat
属性,您可以获取或者设置区域的数字格式。
获取时,如果指定区域中的所有单元格的数字格式不一致,则此属性返回
null
。设置时,为了让用户设置更方便,如下列举了WebOffice上常用的值,在调用API设置数字格式时,可以复制下面的值进行设置,例如设置数字格式为常规
Range.NumberFormat = 'G/通用格式'
。常规:
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_ ;_ * "-"??_ ;_ @_
语法
表达式.Range.NumberFormat
表达式:文档类型应用对象
示例
//@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 = '@'; }
Range.Value
通过Value
属性,您可以在指定区域中写入值。
语法
表达式.Range.Value
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //在该区域中写入值 range.Value = 'Aliyun'; }
Range.IndentLevel
通过IndentLevel
属性,您可以设置缩进指定区域。
语法
表达式.Range.IndentLevel
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //该区域缩进10个单位 range.IndentLevel = 10; }
Range.Validation
通过Validation
属性,您可以获取指定区域的数据有效性规则。更多信息,请参见Validation。
语法
表达式.Range.Validation
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取该区域的数据有效性规则 range.IndentLevel = 10; }
Range.Areas
通过Areas
属性,您可以获取多区域选择中的所有区域。
JS-SDK V1.1.19及以上版本支持此功能。
语法
表达式.Range.Areas
表达式:文档类型应用对象
示例
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() }
Range.Hyperlinks
通过Hyperlinks
属性,您可以获取区域的超链接对象。
JS-SDK V1.1.19及以上版本支持此功能。
语法
表达式.Range.Hyperlinks
表达式:文档类型应用对象
示例
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) }
Range.Value2
通过Value2
属性,您可以设置单元格值。
JS-SDK V1.1.19及以上版本支持此功能。
语法
表达式.Range.Value2
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; // 区域对象 const range = await app.Range('A1:B2'); // 写入值到单元格中 range.Value2 = [['WebOffice', 'WebOffice2'], ['1', '2']]; }
Borders
Range.Borders
获取指定区域中的所有边框。
语法
表达式.Range.Borders
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取所有边框 const borders = await range.Borders; }
Border
Range.Borders.Item()
获取单个边框对象。
语法
表达式.Range.Borders.Item(Index)
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Index
Enum
是
指定要检索的边框。更多信息,请参见XlBordersIndex。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取所有边框 const borders = await range.Borders; //获取单个边框对象 const border = await borders.Item(1); }
属性
Range.Borders.Item(Index).Color
通过Color
属性,您可以获取指定边框的颜色。
获取边框颜色时,需要指定具体的边框,即枚举值Enum.XlBordersIndex不能是xlOutside和xlInside。
语法
表达式.Range.Borders.Item(Index).Color
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取所有边框 const borders = await range.Borders; //获取单个边框对象 const border = await borders.Item(app.Enum.XlBordersIndex.xlEdgeLeft); //获取边框颜色 const color = await border.Color; console.log(color); }
Range.Borders.Item(Index).LineStyle
通过LineStyle
属性,您可以设置指定边框的线条样式。更多信息,请参见XlLineStyle。
语法
表达式.Range.Borders.Item(Index).LineStyle
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取所有边框 const borders = await range.Borders; //获取单个边框对象 const border = await borders.Item(app.Enum.XlBordersIndex.xlEdgeLeft); //设置边框的线条样式 border.LineStyle = app.Enum.XlLineStyle.xlDash; }
Range.Borders.Item(Index).Weight
通过Weight
属性,您可以设置指定边框的粗细。更多信息,请参见XlBorderWeight。
语法
表达式.Range.Borders.Item(Index).Weight
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取所有边框 const borders = await range.Borders; //获取单个边框对象 const border = await borders.Item(app.Enum.XlBordersIndex.xlEdgeLeft); //设置边框的粗细 border.Weight = app.Enum.XlBorderWeight.xlThick; }
Font
Range.Font
获取字体对象。
语法
表达式.Range.Font
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取字体对象 const font = range.Font; }
属性
Range.Font.Size
通过Size
属性,您可以设置和获取字体大小。
语法
表达式.Range.Font.Size
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取字体对象 const font = range.Font; //设置字体大小 font.Size = 30; //获取字体大小 const size = await font.Size; console.log(size); }
FormatConditions
Range.FormatConditions
获取指定区域中的所有条件格式。
语法
表达式.Range.FormatConditions
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取该区域的所有条件格式 const formatConditions = await range.FormatConditions; }
方法
Range.FormatConditions.Add()
通过Add()
方法,您可以指定区域添加条件格式。
语法
表达式.Range.FormatConditions.Add({ Type, Operator, Formula1, Formula2 })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Type
Enum
是
指定条件格式是基于单元格值还是基于表达式。更多信息,请参见XlFormatConditionType。
Operator
Number
否
条件格式运算符。更多信息,请参见XlFormatConditionOperator。
Formula1
Number
否
与条件格式关联的值或表达式。可为常量值、字符串值、单元格引用或公式。
Formula2
Number
否
当参数Operator取值为
xlBetween
或xlNotBetween
时,该参数表示与条件格式第二部分相关联的值或表达式,可以是常量值、字符串值、单元格引用或公式。当参数Operator取值不为
xlBetween
或xlNotBetween
时,将忽略此参数。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A4:D5'); //选中该区域 await range.Select(); //设置公式 range.Formula = 'Aliyun'; //获取所有条件格式 const formatConditions = await range.FormatConditions; //添加条件格式 await formatConditions.Add( app.Enum.XlFormatConditionType.xlExpression, undefined, '=D1=1', ); }
Range.FormatConditions.With()
通过With()
方法,您可以编辑条件格式。
语法
表达式.Range.FormatConditions.With({ Interior, Font, Borders })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Interior
Object
否
内部属性对象。
Font
Object
否
字体对象。
Borders
Object
否
边框对象。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A4:D5'); //选中该区域 await range.Select(); //设置公式 range.Formula = 'Aliyun'; //获取所有条件格式 const formatConditions = await range.FormatConditions; //添加条件格式 await formatConditions.Add( app.Enum.XlFormatConditionType.xlExpression, undefined, '=D1=1', ); // 编辑条件格式 await formatConditionsAdd.With({ Interior: { Color: '#000000' }, Font: { Bold: true, Color: '#FF0000', Underline: 2, Italic: true, Strikethrough: true }, Border: { LineStyle: -4119, Color: '#FF0000' }, }); }
Interior
Range.Interior
获取指定范围的内部属性。
语法
表达式.Range.Interior
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取该区域的内部属性 const interior = await range.Interior; }
属性
Range.Interior.Color
通过Color
属性,您可以获取指定区域内部的颜色。
语法
表达式.Range.Interior.Color
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取内部属性 const interior = await range.Interior; //设置内部颜色 interior.Color = '#e1ff02'; setTimeout(async () => { //3000 ms后获取内部颜色 const color = await interior.Color; console.log(color); }, 3000); }
Validation
Range.Validation
获取指定区域中的数据有效性规则。
语法
表达式.Range.Validation
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取数据有效性规则 const validation = await range.Validation; }
方法
Range.Validation.Add()
通过Add()
方法,您可以新增数据有效性规则。
语法
表达式.Range.Validation.Add({ Type, Operator, Formula1, Formula2 })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Type
Enum
是
指定要对数据进行的有效性验证类型。更多信息,请参见XlDVType。
Operator
Enum
否
数据验证运算符。更多信息,请参见XlFormatConditionOperator。
Formula1
String
否
数据验证公式中的第一部分,不得超过255个字符。
Formula2
String
否
当参数Operator取值为
xlBetween
或xlNotBetween
时,数据验证公式的第二部分,不得超过255个字符。当参数Operator取值不为
xlBetween
或xlNotBetween
时,将忽略此参数。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取数据有效性规则 const validation = await range.Validation; //添加数据有效性规则 await validation.Add({ Type: app.Enum.XlDVType.xlValidateWholeNumber, Operator: app.Enum.XlFormatConditionOperator.xlBetween, Formula1: '1', Formula2: '5', }); }
Range.Validation.Delete()
通过Delete()
方法,您可以删除数据有效性规则。
语法
表达式.Range.Validation.Delete()
表达式:文档类型应用对象
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取数据有效性规则 const validation = await range.Validation; //添加数据有效性规则 await validation.Add({ Type: app.Enum.XlDVType.xlValidateWholeNumber, Operator: app.Enum.XlFormatConditionOperator.xlBetween, Formula1: '1', Formula2: '5', }); //10000 ms后删除该规则 setTimeout(async () => { await validation.Delete(); }, 10000); }
Range.Validation.Modify()
通过Modify()
方法,您可以修改数据有效性规则。
语法
表达式.Range.Validation.Modify({ Type, Operator, Formula1, Formula2 })
表达式:文档类型应用对象
参数
属性
数据类型
是否必填
描述
Type
Enum
是
指定要对数据进行的有效性验证类型。更多信息,请参见XlDVType。
Operator
Enum
否
数据验证运算符。更多信息,请参见XlFormatConditionOperator。
Formula1
String
否
数据验证公式中的第一部分,不得超过255个字符。
Formula2
String
否
当参数Operator取值为
xlBetween
或xlNotBetween
时,数据验证公式的第二部分,不得超过255个字符。当参数Operator取值不为
xlBetween
或xlNotBetween
时,将忽略此参数。
示例
async function example() { await instance.ready(); const app = instance.Application; //获取区域对象 const range = await app.Range('A1'); //获取数据有效性规则 const validation = await range.Validation; //添加数据有效性规则 await validation.Add({ Type: app.Enum.XlDVType.xlValidateWholeNumber, Operator: app.Enum.XlFormatConditionOperator.xlBetween, Formula1: '1', Formula2: '5', }); //10000 ms后修改该规则 setTimeout(async () => { await validation.Modify({ Type: app.Enum.XlDVType.xlValidateWholeNumber, Operator: app.Enum.XlFormatConditionOperator.xlNotBetween, Formula1: '1', Formula2: '5', }); }, 10000); }