跳到主要内容

Excel

Application

属性

supportedEvents

支持的事件

语法

Application.supportedEvents

返回值

string[]

示例

function example() {
const supportedEvents = Application.supportedEvents;
}

events

监听的事件

语法

Application.events

返回值

string[]

示例

function example() {
const events = Application.events;
}

docType

文档类型

语法

Application.docType

返回值

string

示例

function example() {
const evedocTypents = Application.docType;
}

ActiveWindow

返回一个 Window 对象,该对象代表活动的 Excel 窗口

语法

Application.ActiveWindow

返回值

ActiveWindow

示例

function example() {
const ActiveWindow = Application.ActiveWindow;
}

方法

addListener

监听事件

removeListener

移除事件监听

ready

JSSDK: 1.2.3、zOffice2022.2 FP3 支持

调用高级 API 之前,等待文档加载完成,只需调用一次

语法

Application.ready()

返回值

Promise<boolean>

示例

async function example() {
await Application.ready();
}

updateParams4thirdparty

三方集成场景更新服务端的一些相关值

语法

Application.updateParams4thirdparty(params)

参数

属性数据类型必填说明
paramsstring多个值以分号相隔

返回值

Promise<boolean>

示例

async function example() {
const params = "3rd-party-token=xxx;id=demo-xlsx-123;x-webhook-header=xxx;"; //多个值以分号相隔
const success = Application.updateParams4thirdparty(params);
if(success){
console.log('设置成功')
}
}

Workbook

当前工作簿

属性

Names

返回当前工作簿的所有名称的集合

语法 Application.ActiveWorkbook.Names

返回值 Promise<Names>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook
// 工作簿名称集合
const names = await activeWorkbook.Names
}

SheetPermissions

返回当前工作簿所有保护工作表的集合

语法

Application.ActiveWorkbook.SheetPermissions

返回值

Promise<SheetPermissions>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿保护工作表集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
}

Protection

返回工作簿结构保护对象

语法

Application.ActiveWorkBook.Protection

Application:表格应用对象

返回值

Promise<WorkBookProtection>

示例

async function example() {
const Protection = await Application.ActiveWorkBook.Protection;
console.log(Protection);
}

方法

switchDataProtectionMode

JSSDK: 1.0.3、zOffice2022.1 FP3 支持

开启/关闭数据保护

语法

Application.ActiveWorkbook.switchDataProtectionMode()

返回值

Promise<boolean>

示例

async function example() {
const success = await Application.ActiveWorkbook.switchDataProtectionMode();
console.log(success);
}

isDataProtectionOn

JSSDK: 1.0.3、zOffice2022.1 FP3 支持

数据保护是否开启

语法

Application.ActiveWorkbook.isDataProtectionOn()

返回值

Promise<boolean>

示例

async function example() {
const isOpen = await Application.ActiveWorkbook.isDataProtectionOn();
console.log(isOpen);
}

save

保存文档

语法

Application.ActiveWorkbook.save()

返回值

Promise<boolean>

示例

async function example() {
await Application.ActiveWorkbook.save();
}


#### getSheets

返回所有工作表对象

**语法**

`Application.ActiveWorkbook.getSheets()`

Application:表格应用对象

**返回值**

Promise\<Excel.Sheet[]>

**示例**

```js
async function example() {
const sheets = await Application.ActiveWorkbook.getSheets();
}

getActiveSheet

当前活动工作表

语法

Application.ActiveWorkbook.getActiveSheet()

Application:表格应用对象

返回值

Promise<Excel.Sheet>

示例

async function example() {
const sheet = await Application.ActiveWorkbook.getActiveSheet();
}

getSheetByName

根据工作表名称返回工作表对象

语法

Application.ActiveWorkbook.getSheetByName(name)

Application:表格应用对象

参数

属性数据类型必填说明
namestring工作表名称

返回值

Promise<Excel.Sheet>

示例

async function example() {
const sheet = await Application.ActiveWorkbook.getSheetByName('sheet1');
}

newSheet

新建工作表

语法

Application.ActiveWorkbook.newSheet(name)

Application:表格应用对象

参数

属性数据类型必填说明
namestring新建的工作表的名称

返回值

Promise<boolean>

示例

async function example(rName) {
const success = await Application.ActiveWorkbook.newSheet(rName);
console.log(success);
}

print

打印工作簿

语法

Application.ActiveWorkbook.print()

Application:表格应用对象

返回值

Promise<boolean>

示例

async function example() {
const success = await Application.ActiveWorkbook.print();
}

getProtection

获取工作簿结构保护对象

语法

Application.ActiveWorkbook.getProtection()

Application:表格应用对象

返回值

Promise<Excel.WorkBookProtection>

示例

async function example() {
const Protection = await Application.ActiveWorkbook.getProtection();
}

WorkBookProtection

返回一个 WorkBookProtection 对象, 该对象用于设置WorkBook的结构保护

属性

isProtected

工作簿是否开启保护

语法

Application.ActiveWorkbook.Protection.isProtected

Application:表格应用对象

返回值

isProtected : boolean

示例

async function example() {
const Protection = Application.ActiveWorkbook.Protection;
const isProtected = Protection.isProtected;
console.log(isProtected);
}

方法

protect

开启工作簿结构保护

语法

Application.ActiveWorkbook.Protection.protect()

Promise<void>

示例

async function example() {
const success = await Application.ActiveWorkbook.Protection.protect();
}

unprotect

撤销工作簿结构保护

语法

Application.ActiveWorkbook.Protection.unprotect()

返回值

Promise<void>

示例

async function example() {
const success = await Application.ActiveWorkbook.Protection.unprotect();
}

getProtected()

获取当前工作簿结构保护是否开启

语法

Application.ActiveWorkbook.Protection.getProtected()

返回值

Promise<boolean>

示例

async function example() {
const isProtected = await Application.ActiveWorkbook.Protection.getProtected();
console.log(isProtected);
}

Window

返回一个 Window 对象,该对象代表活动的 Excel 窗口

属性

Zoom

文档的缩放选项 (例如,缩放比例)

语法

Application.ActiveWindow.Zoom

Application:表格应用对象

返回值

zoom: Zoom

示例

async function example() {
// 获取窗口缩放比例
const Zoom = Application.ActiveWindow.Zoom;
const percentage = await Zoom.percentage;
console.log(percentage);
}

Zoom

JSSDK: 1.2.2、zOffice2022.3 FP2 支持

文档的缩放选项 (例如,缩放比例)

属性

percentage

获取当前工作表的缩放比例(10% ~ 400%)

语法

Application.ActiveWindow.Zoom.percentage

Application:文档类型应用对象

返回值

Promise<number>

示例

async function example() {
const percentage = await Application.ActiveWindow.Zoom.percentage;
console.log(percentage);
}

方法

setPercentage

JSSDK: 1.4.0、zOffice V6.1 支持

设置当前工作表的缩放比例(10% ~ 400%)

语法

Zoom.setPercentage(value)

参数

属性数据类型必填说明
valuenumber缩放比例

返回值

Promise<boolean>

示例

async function example(sheetName) {
const success = await Application.ActiveWindow.Zoom.setPercentage(200);
}

Sheet

工作表对象

属性

name

工作表名称

语法

sheet.name

sheet:工作表对象

返回值

sheetName: string

示例

async function example() {
const sheet = await Application.ActiveWorkbook.getActiveSheet();
const sheetName = sheet.name;
}

Names

返回当前工作表范围的名称集合

语法

sheet.Names

sheet: 工作表对象

返回值

Promise<Names>

示例

async function example() {
// 活动工作簿中的活动工作表
const sheet = await Application.ActiveWorkbook.getActiveSheet();
// 返回一个Names集合,该集合代表工作表特定的名称
const names = await sheet.Names
}

RangePermissions

返回当前工作表所有保护区域的集合

语法

sheet.RangePermissions

sheet:工作表对象

返回值

Promise<RangePermissions>

示例

async function example() {
// 活动工作表
const sheet = await Application.ActiveWorkbook.getActiveSheet();
// 活动工作表所有保护区域的集合
const rangePermissions = await sheet.RangePermissions;
}

Shapes

返回当前工作表形状对象的集合

语法

sheet.Shapes

sheet: 工作表对象

返回值

Promise<Shapes>

示例

async function example() {
// 活动工作簿中的活动工作表
const sheet = await Application.ActiveWorkbook.getActiveSheet();
// 返回一个形状对象的集合
const shapes = await sheet.Shapes;
}

方法

activate

切换活动工作表

语法

sheet.activate()

sheet:工作表对象

返回值

示例

async function example(sheetName) {
const sheet = await Application.ActiveWorkbook.getSheetByName(sheetName);
await sheet.activate();
}

show

显示工作表

语法

sheet.show()

sheet:工作表对象

返回值

Promise<boolean>

示例

async function example(sheetName) {
const sheet = await Application.ActiveWorkbook.getSheetByName(sheetName);
const success = await sheet.show();
}

hide

隐藏工作表

语法

sheet.hide()

sheet:工作表对象

返回值

Promise<boolean>

示例

async function example(sheetName) {
const sheet = await Application.ActiveWorkbook.getSheetByName(sheetName);
const success = await sheet.hide();
}

setName

设置工作表名称

语法

sheet.setName(name)

sheet:工作表对象

参数

属性数据类型必填说明
namestring新的工作表名称

返回值

Promise<boolean>

示例

async function example(sheetName, rName) {
const sheet = await Application.ActiveWorkbook.getSheetByName(sheetName);
const success = await sheet.setName(rName);
}

isHidden

工作表是否隐藏

语法

sheet.isHidden()

sheet:工作表对象

返回值

Promise<boolean>

  • true: 隐藏
  • false: 没有隐藏

示例

async function example(sheetName) {
const sheet = await Application.ActiveWorkbook.getSheetByName(sheetName);
const isHidden = await sheet.isHidden();
}

insertSheet

在工作表后面插入工作表

语法

sheet.insertSheet(name)

sheet:工作表对象

参数

属性数据类型必填说明
namestring要插入的工作表的名称

返回值

Promise<boolean>

示例

async function example(rName) {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertSheet(rName);
console.log(success);
}

delete

删除工作表

语法

sheet.delete()

sheet:工作表对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.delete();
}

setActiveRange

选中区域

语法

sheet.setActiveRange(range)

sheet:工作表对象

参数

属性数据类型必填说明
rangeExcel.Range (只能通过Sheet.getRange拿到一个Range)活动工作表的一块区域

返回值

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = activeSheet.getRange(1, 1, 5, 5);
await activeSheet.setActiveRange(range);
}

getActiveRange

获取选中区域

语法

sheet.getActiveRange()

sheet:工作表对象

返回值

Promise<Excel.Range>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
}

getActiveCell

获取选中区域中左上角单元格

语法

sheet.getActiveCell()

sheet:工作表对象

返回值

Promise<Excel.Range>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const cell = await activeSheet.getActiveCell();
}

getIndex

获取工作表序号

语法

sheet.getIndex()

sheet:工作表对象

返回值

index: Promise<number>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const index = await activeSheet.getIndex();
}

getRange

获取一块区域

语法

sheet.getRange(startRow, startCol, endRow, endCol)

sheet:工作表对象

参数

属性数据类型必填说明
startRownumber开始行号(从1开始,下同)
startColnumber开始列号
endRownumber结束行号
endColnumber结束列号

返回值

Excel.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = activeSheet.getRange(1, 1, 3, 4);
}

setFreezeRow

设置冻结行

语法

sheet.setFreezeRow(rowIndex)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber冻结行号(起始行号为1,rowIndex为0代表取消冻结行)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.setFreezeRow(5);
}

getFreezeRow

获取冻结行

语法

sheet.getFreezeRow()

sheet:工作表对象

返回值

Promise<number>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const index = await activeSheet.getFreezeRow();
}

setFreezeColumn

设置冻结列

语法

sheet.setFreezeColumn(colIndex)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber冻结列号(起始行号为1,colIndex为0代表取消冻结列)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.setFreezeColumn(5);
}

getFreezeColumn

获取冻结列

语法

sheet.getFreezeColumn()

sheet:工作表对象

返回值

Promise<number>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const index = await activeSheet.getFreezeColumn();
}

hideRow

隐藏行

语法

sheet.hideRow(rowIndex)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber隐藏行号(起始行号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideRow(5);
}

hideRows

隐藏多行

语法

sheet.hideRows(startIndex, endIndex)

sheet:工作表对象

参数

属性数据类型必填说明
startIndexnumber隐藏开始行号 (起始行号为1,下同)
endIndexnumber隐藏结束行号

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideRows(1, 5);
}

showRow

显示行

语法

sheet.showRow(rowIndex)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber显示行号(起始行号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showRow(5);
}

showRows

显示多行

语法

sheet.showRows(startIndex, endIndex)

sheet:工作表对象

参数

属性数据类型必填说明
startIndexnumber显示开始行号(起始行号为1,下同)
endIndexnumber显示结束行号

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showRows(1, 5);
}

insertRow

插入一行

语法

sheet.insertRow(rowIndex)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber插入行号(起始行号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertRow(5);
}

insertRows

插入多行

语法

sheet.insertRows(rowIndex, count)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber插入行号(起始行号为1,下同)
countnumber插入行数,最大为29999行

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertRows(5, 2);
}

deleteRow

删除行

语法

sheet.deleteRow(rowIndex)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber删除行号(起始行号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.deleteRow(5);
}

deleteRows

删除多行

语法

sheet.deleteRows(rowIndex, count)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber删除行号(起始行号为1,下同)
countnumber删除行数,最大为29999行

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.deleteRows(2, 5);
}

hideColumn

隐藏列

语法

sheet.hideColumn(colIndex)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber隐藏列号(起始列号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideColumn(5);
}

hideColumns

隐藏多列

语法

sheet.hideColumns(startIndex, endIndex)

sheet:工作表对象

参数

属性数据类型必填说明
startIndexnumber隐藏开始列号(起始列号为1,下同)
endIndexnumber隐藏结束列号

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideColumns(1, 5);
}

showColumn

显示列

语法

sheet.showColumn(colIndex)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber显示列号(起始列号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showColumn(5);
}

showColumns

显示多列

语法

sheet.showColumns(startIndex, endIndex)

sheet:工作表对象

参数

属性数据类型必填说明
startIndexnumber显示开始列号(起始行号为1,下同)
endIndexnumber显示结束列号

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showColumns(1, 5);
}

insertColumn

插入一列

语法

sheet.insertColumn(colIndex)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber插入列号(起始列号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertRow(5);
}

insertColumns

插入多列

语法

sheet.insertColumns(colIndex, count)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber插入列号(起始列号为1,下同)
countnumber插入列数,最大为1023行

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertColumns(5, 2);
}

deleteColumn

删除列

语法

sheet.deleteColumn(colIndex)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber删除列号(起始列号为1)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.deleteColumn(5);
}

deleteColumns

删除多列

语法

sheet.deleteColumns(colIndex, count)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber删除列号(起始列号为1,下同)
countnumber删除列数,最大为29999列

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.deleteColumns(2, 5);
}

setColumnWidth

设置列宽

语法

sheet.setColumnWidth(colIndex, width)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber列号 (起始列号为1)
widthnumber列宽值,介于0和2045之间(单位:像素)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.setColumnWidth(5, 30);
}

setColumnWidths

设置多列列宽

语法

sheet.setColumnWidths(startIndex, endIndex, width)

sheet:工作表对象

参数

属性数据类型必填说明
startIndexnumber开始列号(起始列号为1,下同)
endIndexnumber结束列号
widthnumber列宽值,介于0和2045之间(单位:像素)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.setColumnWidths(1, 5, 30);
}

getColumnWidth

获取列宽

语法

sheet.getColumnWidth(colIndex)

sheet:工作表对象

参数

属性数据类型必填说明
colIndexnumber列号(起始列号为1)

返回值

Promise<number>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const width = await activeSheet.getColumnWidth(5);
}

setRowHeight

设置行高

语法

sheet.setRowHeight(rowIndex, height)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber行号(起始行号为1)
heightnumber行高值,介于0和546之间(单位:像素)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.setRowHeight(5, 30);
}

setRowHeights

设置多行行高

语法

sheet.setRowHeights(startIndex, endIndex, height)

sheet:工作表对象

参数

属性数据类型必填说明
startIndexnumber开始行号(起始行号为1,下同)
endIndexnumber结束行号
heightnumber行高值,介于0和546之间(单位:像素)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.setRowHeights(1, 5, 30);
}

getRowHeight

获取行高

语法

sheet.getRowHeight(rowIndex)

sheet:工作表对象

参数

属性数据类型必填说明
rowIndexnumber行号(起始行号为1)

返回值

Promise<number>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const height = await activeSheet.getRowHeight(5);
}

insertImage

JSSDK: 1.1.0、zOffice2022.2 支持

插入浮动图片

语法

sheet.insertImage(image, rowIndex, colIndex, offsetX, offsetY)

sheet:工作表对象

参数

属性数据类型必填说明
imageBlob 或者 stringBlob可通过设置input元素的type为file或其他方式获得;string为图片的url(因为浏览器安全限制,不支持本地图片的url)
rowIndexnumber插入行号(起始行号为1)
colIndexnumber插入列号(起始列号为1)
offsetXnumber可选参数,介于0-20
offsetYnumber可选参数,介于0-72

返回值

示例

async function exampleA(imageBlob: Blob) {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
await activeSheet.insertImage(imageBlob, 3, 3);
}
async function exampleB(imageUrl: string) {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
await activeSheet.insertImage(imageUrl, 3, 3, 10, 5);
}

insertCellImage

JSSDK: 1.1.0、zOffice2022.2 支持

插入单元格图片

语法

sheet.insertCellImage(image, rowIndex, colIndex)

sheet:工作表对象

参数

属性数据类型必填说明
imageBlob 或者 stringBlob可通过设置input元素的type为file或其他方式获得;string为图片的url(因为浏览器安全限制,不支持本地图片的url)
rowIndexnumber插入行号(起始行号为1)
colIndexnumber插入列号(起始列号为1)

返回值

示例

async function exampleA(imageBlob: Blob) {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
await activeSheet.insertCellImage(imageBlob, 3, 3);
}
async function exampleB(imageUrl: string) {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
await activeSheet.insertCellImage(imageUrl, 3, 3);
}

getHtml

获取当前工作表的HTML格式内容

语法

sheet.getHtml(dataOnly)

sheet:工作表对象

参数

属性数据类型必填说明
dataOnlyboolean是否只获取当前工作表内数据区域的HTML格式内容,默认为false

返回值

Promise<string>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet()
// 获取当前工作表的HTML格式内容
const htmlStr = await activeWorksheet.getHtml(true);
console.log(htmlStr);
}

Range

区域对象

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

属性

row

区域的首行行号

语法

range.row

range:区域对象

返回值

row: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const row = range.row;
}

column

区域的首列列号

语法

range.column

range:区域对象

返回值

column: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const column = range.column;
}

endRow

区域的尾行行号

语法

range.endRow

range:区域对象

返回值

row: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const row = range.endRow;
}

endColumn

区域的尾列列号

语法

range.endColumn

range:区域对象

返回值

column: number

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const column = range.endColumn;
}

方法

getSheet

获取区域所在工作表

语法

range.getSheet()

range:区域对象

返回值

sheet: Excel.Sheet

示例

function example(range) {
const sheet = range.getSheet();
}

getCell

获取区域内特定单元格

语法

range.getCell(row, column)

range:区域对象

参数

属性数据类型必填说明
rownumber行号,区域内第几行,起始行号为1
columnnumber列号,区域内第几列,起始列号为1

返回值

cell: Excel.Range

示例

function example(range) {
const cell = range.getCell(1, 2);
}

getRow

获取区域首行

语法

range.getRow()

range:区域对象

返回值

row: Excel.Range

示例

function example(range) {
const row = range.getRow();
}

getColumn

获取区域首列

语法

range.getColumn()

range:区域对象

返回值

column: Excel.Range

示例

function example(range) {
const row = range.getColumn();
}

getEndRow

获取区域尾行

语法

range.getEndRow()

range:区域对象

返回值

row: Excel.Range

示例

function example(range) {
const row = range.getEndRow();
}

getEndColumn

获取区域尾列

语法

range.getEndColumn()

range:区域对象

返回值

column: Excel.Range

示例

function example(range) {
const row = range.getEndColumn();
}

activate

选中区域

语法

range.activate()

range:区域对象

返回值

示例

async function example(range) {
await range.activate();
}

getShowValue

获取区域左上角单元格显示内容

语法

range.getShowValue()

range:区域对象

返回值

Promise<string | number | boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValue = await range.getShowValue();
}

getShowValues

获取区域显示内容

语法

range.getShowValues()

range:区域对象

返回值

Promise<string| number | boolean[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValues = await range.getShowValues();
}

getValue

获取区域左上角单元格内容

语法

range.getValue()

range:区域对象

返回值

Promise<string | number | boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValue = await range.getValue();
}

getValues

获取区域内容

语法

range.getValues()

range:区域对象

返回值

Promise<string | number | boolean[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const cellValues = await range.getValues();
}

setValue

设置区域左上角单元格内容

语法

range.setValue(value)

range:区域对象

参数

属性数据类型必填说明
valuenumber | string | boolean设置的单元格内容

返回值

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
await range.setValue(1);
}

setValues

设置区域内容

语法

range.setValues(values)

range:区域对象

参数

属性数据类型必填说明
valuesstring|number|boolean[][]设置的区域内容,二维数组

返回值

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const rowCount = range.endRow - range.row + 1;
const columnCount = range.endColumn - range.column + 1;
const data = [];
for (let i = 0; i < rowCount; i += 1) {
const row = [];
for (let j = 0; j < columnCount; j += 1) {
row.push(1);
}
data.push(row);
}
await range.setValues(data);
}

getRow

获取区域开始行

语法

range.getRow()

range:区域对象

返回值

startRow: Excel.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const startRow = range.getRow();
}

getEndRow

获取区域结束行

语法

range.getEndRow()

range:区域对象

返回值

endRow: Excel.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const endRow = range.getEndRow();
}

getColumn

获取区域开始列

语法

range.getColumn()

range:区域对象

返回值

startColumn: Excel.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const startColumn = range.getColumn();
}

getEndColumn

获取区域结束列

语法

range.getEndColumn()

range:区域对象

返回值

endColumn: Excel.Range

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const endColumn = range.getEndColumn();
}

clearContent

清空区域内容

语法

range.clearContent()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.clearContent();
console.log(success);
}

canEdit

返回区域是否可编辑

语法

range.canEdit()

range:区域对象

返回值

Promise<boolean>

  • true: 可编辑
  • false: 不可编辑

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const isEditable = await range.canEdit();
}

getBackground

获取区左上角单元格背景色

语法

range.getBackground()

range:区域对象

返回值

Promise<string>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const bgColor = await range.getBackground();
}

getBackgrounds

获取区域背景色

语法

range.getBackgrounds()

range:区域对象

返回值

Promise<string[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const bgColors = await range.getBackgrounds();
}

setBackground

设置区域内背景颜色

语法

range.setBackground(color)

range:区域对象

参数

属性数据类型必填说明
colorstring设置颜色

返回值

Promise<void>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange(2324);
await range.setBackground("#000FFF");
}

getFontColor

获取区域左上角单元格字体颜色

语法

range.getFontColor()

range:区域对象

返回值

Promise<string>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const color = await range.getFontColor();
}

getFontColors

获取区域字体颜色

语法

range.getFontColors()

range:区域对象

返回值

Promise<string[][]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const colors = await range.getFontColors();
}

setFontColor

设置区域内字体颜色

语法

range.setFontColor(color)

range:区域对象

参数

属性数据类型必填说明
colorstring设置颜色

返回值

Promise<void>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange(2324);
await range.setFontColor("#000FFF");
}

merge

合并单元格

语法

range.merge()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.merge();
console.log(success);
}

mergeAndCenter

合并后居中

语法

range.mergeAndCenter()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.mergeAndCenter();
console.log(success);
}

mergeAcross

跨列合并

语法

range.mergeAcross()

range:区域对象

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.mergeAcross();
console.log(success);
}

getMergedRanges

获取区间内的合并单元格

语法

range.getMergedRanges()

range:区域对象

返回值

Promise<Range[]>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const ret = await range.getMergedRanges();
console.log(ret);
}

getHtml

获取当前范围的HTML格式内容

语法

range.getHtml(dataOnly)

range:区域对象

参数

属性数据类型必填说明
dataOnlyboolean是否只获取当前范围内数据区域的HTML格式内容,默认为false

返回值

Promise<string>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取当前区域
const range = await activeWorksheet.getActiveRange();
// 获取当前区域的HTML格式内容
const htmlStr = await range.getHtml(true);
console.log(htmlStr);
}

setFontFamily

设置字体

语法

range.setFontFamily(fontFamily)

range:区域对象

参数

属性数据类型必填说明
fontFamilystring'Arial', 'Calibri', 'Comic Sans MS', 'Courier New', 'Georgia', 'Lucida Sans Unicode', 'Tahoma','Times New Roman', 'Trebuchet MS', 'Verdana', '宋体', '黑体', '微软雅黑', '隶书', '幼圆', '华文细黑', '华文楷体', '华文宋体', '华文新魏', '华文隶书', '等线', '仿宋', '楷体', '方正舒体', '方正姚体',

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontFamily('微软雅黑');
console.log(success);
}

setFontSize

设置字号

语法

range.setFontSize(fontSize)

range:区域对象

参数

属性数据类型必填说明
fontSizenumberfontSize >= 8 && fontSize <= 72 && fontSize值为0.5的整数倍(单位:磅,pt)

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontSize(20);
console.log(success);
}

setFontStyle

设置字体样式

语法

range.setFontStyle(fontStyle)

range:区域对象

参数

属性数据类型必填说明
fontStylestring'italic', 'bold', 'normal', 'underline', 'strikethrough'

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setFontStyle('italic');
console.log(success);
}

setWrap

设置自动换行

语法

range.setWrap(isWrapEnabled)

range:区域对象

参数

属性数据类型必填说明
isWrapEnabledboolean

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setWrap(true);
console.log(success);
}

setAlignment

设置水平对齐方式

语法

range.setAlignment(alignment)

range:区域对象

参数

属性数据类型必填说明
alignmentstring'left', 'right', 'center'

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setAlignment('right');
console.log(success);
}

setVerticalAlignment

设置垂直对齐方式

语法

range.setVerticalAlignment(alignment)

range:区域对象

参数

属性数据类型必填说明
alignmentstring'top', 'bottom', 'middle'

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setVerticalAlignment('bottom');
console.log(success);
}

setBorder

设置边框

语法

range.setBorder(top, left, bottom, right, vertical, horizontal, color, style)

range:区域对象

参数

属性数据类型必填说明
topbooleantrue for border
leftboolean同上
bottomboolean同上
rightboolean同上
verticalboolean同上
horizontalboolean同上
colorstringcss语法中的颜色,例如'#ffffff'或者'white',null for black
styleExcel.BorderStyle见枚举,边框样式,null for thinsolid

返回值

Promise<boolean>

示例

async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getActiveRange();
const success = await range.setBorder(true, true, true, true, true, true, 'red', 'solid');
console.log(success);
}

autoFill

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

语法

range.autoFill(destination, type)

range:区域对象

参数

属性数据类型必填说明
destinationRange目标区域。目标区域必须包含源区域
typeXlAutoFillType填充类型。默认为Excel.XlAutoFillType.xlFillDefault

返回值

Promise<void>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange(1,1,1,3);
// 要填充的区域
const destination = await activeWorksheet.getRange(1,1,10,3);
// 对指定区域中的单元格执行自动填充
await range.autoFill(destination, Excel.XlAutoFillType.xlFillDefault);
}

getDataValidation

获取指定区域的数据验证对象

语法

range.getDataValidation()

range:区域对象

返回值

DataValidation

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange(1,1,1,3);
// 获取数据验证对象
const dataValidation = range.getDataValidation();
}

Names

返回一个Name对象的集合

属性

count

返回集合中名称的数量

语法

Names.count

Names: 名称集合对象

返回值

Promise<number>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 查看名称的数量
const count = await names.count;
console.log(count);
}

方法

add

新建名称

语法

Names.add(Name, RefersTo)

Names: 名称集合对象

参数

属性数据类型必填说明
Namestring定义的名称
RefersTostring名称的引用区间

返回值

Promise<Name>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 新增一个名称
await names.add("名称1", "=Sheet1!$A$1:$B$4");
}

item

返回单个名称对象

语法

Names.item(index)

参数

属性数据类型必填说明
indexnumber(string)名称的索引值或者名称的name

返回值

Promise<Name>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象
const name1 = await names.item(1);
const name2 = await names.item('名称1');
}

Name

返回一个名称对象

属性

name

返回名称的name

语法

Name.name

Name: 名称对象

返回值

Promise<string>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象
const name = await names.item(1);
// 获取具体的名称
const nameName = await name.name;
console.log(nameName);
}

value

返回名称的value

语法

Name.value

Name: 名称对象

返回值

Promise<string>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象
const name = await names.item(1);
// 获取具体的值
const value = await name.value;
console.log(value);
}

scope

返回名称的作用域

语法

Name.scope

Name: 名称对象

返回值

NamedItemScope

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象
const name = await names.item(1);
// 获取当前名称的作用域
const scope = name.scope;
console.log(scope);
}

visible

当前名称是否在名称管理器中可见

语法

Name.visible

Name: 名称对象

返回值

Boolean

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象
const name = await names.item(1);
// 当前名称是否可见
const visible = name.visible;
console.log(visible);
}

worksheet

返回名称作用域所在的工作表,如果该名称的作用域为工作簿则返回undefined

语法

Name.worksheet

Name: 名称对象

返回值

Promise<Sheet>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象
const name = await names.item(1);
// 获取当前名称对象的作用域
const scope = name.scope;
// 如果作用域为工作表则获取sheet对象
if (scope === Excel.NamedItemScope.Worksheet) {
const worksheet = await name.worksheet;
}
}

range

返回名称对象的引用区间,如果该名称引用的不是一个合法区间则返回undefined

语法

Name.range

Name: 名称对象

返回值

Promise<Range>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象,如当前名称引用区间为=Sheet1!$A$1:$D$7
const name = await names.item(1);
// 获取名称的引用区间
const range = await name.range;
// 如果名称存在获取该名称的行列信息
if (range) {
const startRow = range.row;
const startCol = range.col;
const endRow = range.endRow;
const endCol = range.endCol;
const sheetName = range.getSheet().name;
}
}

方法

delete

删除名称

语法

Name.delete()

Name: 名称对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 工作簿名称的集合
const names = await activeWorkbook.Names;
// 单个名称对象
const name = await names.item(1);
// 删除当前名称
await name.delete();
}

SheetPermissions

返回一个保护工作表对象的集合

属性

count

返回当前工作簿中受保护工作表的数量

语法

SheetPermissions.count

SheetPermissions:保护工作表集合对象

返回值

Promise<number>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 获取活动工作簿中保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 获取活动工作簿中受保护工作表的数量
const count = await sheetPermissions.count;
console.log(count);
}

方法

add

对一个工作表添加保护

语法

SheetPermissions.add(type, sheet, users, description)

SheetPermissions:保护工作表集合对象

参数

属性数据类型必填说明
typePermissionType保护的类型
sheetExcel.Sheet添加保护的工作表(默认为当前工作表)
usersstring[]对保护工作表拥有编辑权限的用户
descriptionstring描述信息

返回值

Promise<SheetPermission>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 获取保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 一、对当前工作表添加隐藏类型的保护
const sheet1PerMission = await sheetPermissions.add(Excel.PermissionType.Hide);
// 二、对指定工作表添加只读类型的保护
const sheet2 = await activeWorkbook.getSheetByName('Sheet2');
const sheet2Permission = await sheetPermissions.add(Excel.PermissionType.ReadOnly, sheet2);
// 三、对指定工作表添加只读类型的保护,同时指定用户1、用户2可以编辑
// test01、test02为用户1、用户2的ID
const sheet2Permission1 = await sheetPermissions.add(Excel.PermissionType.ReadOnly, sheet2, ['test01','test02']);
}

item

返回一个保护工作表对象

语法

SheetPermissions.item(index)

SheetPermissions:保护工作表集合对象

参数

属性数据类型必填说明
indexnumber对象的索引值

返回值

Promise<SheetPermission>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 获取保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 获取第一个保护工作表对象
const sheetPermission = await sheetPermissions.item(1);
}

deleteAll

对当前工作簿所有工作表取消保护

语法

SheetPermissions.deleteAll()

SheetPermissions:保护工作表集合对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 获取保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 取消活动工作簿中所有工作表的保护
await sheetPermissions.deleteAll();
}

SheetPermission

返回一个保护工作表对象

属性

sheet

返回工作表信息

语法

SheetPermission.sheet

SheetPermission:保护工作表对象

返回值

Promise<Sheet>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 获取活动工作簿中保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 获取保护工作表对象
const sheetPermission = await sheetPermissions.item(1);
// 获取工作表信息
const sheet = await sheetPermission.sheet;
}

方法

addUsers

为用户添加该保护工作表的编辑权限

语法

SheetPermission.addUsers(users)

SheetPermission:保护工作表对象

参数

属性数据类型必填说明
usersstring[]用户ID,可以同时添加多个用户

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook
// 获取保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 获取保护工作表对象
const sheetPermission = await sheetPermissions.item(1);
// 对用户1,用户2添加该工作表的编辑权限
// test01、test02为用户1、用户2的ID
await sheetPermission.addUsers(['test01','test02']);
}

removeUsers

移除用户对该保护工作表的编辑权限

语法

SheetPermission.removeUsers(users)

SheetPermission:保护工作表对象

参数

属性数据类型必填说明
usersstring[]用户ID,可以同时移除多个用户

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook
// 获取保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 获取保护工作表对象
const sheetPermission = await sheetPermissions.item(1);
// 移除用户1、用户2对该工作表的编辑权限
// test01、test02为用户1、用户2的ID
await sheetPermission.removeUsers(['test01','test02']);
}

removeAllUsers

移除所有用户对该保护工作表的编辑权限

语法

SheetPermission.removeAllUsers()

SheetPermission:保护工作表对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 获取保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 获取保护工作表对象
const sheetPermission = await sheetPermissions.item(1);
// 移除所有用户对该工作表的编辑权限
await sheetPermission.removeAllUsers();
}

delete

对该工作表取消保护

语法

SheetPermission.delete()

SheetPermission:保护工作表对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 获取保护工作表对象的集合
const sheetPermissions = await activeWorkbook.SheetPermissions;
// 获取保护工作表对象
const sheetPermission = await sheetPermissions.item(1);
// 取消保护
await sheetPermission.delete();
}

RangePermissions

返回一个保护区域对象的集合

属性

count

返回当前工作表内受保护区域的数量

语法

RangePermissions.count

RangePermissions:保护区域集合对象

返回值

Promise<number>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet()
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取活动工作表中受保护区域的数量
const count = await rangePermissions.count;
console.log(count);
}

方法

add

对一个区域添加保护

语法

RangePermissions.add(type, range, users, description)

RangePermissions:保护区域集合对象

参数

属性数据类型必填说明
typePermissionType保护的类型
rangeExcel.Range添加保护的区域(默认为当前选中区域)
usersstring[]对受保护区域拥有编辑权限的用户,当传入['everyone']意为该区域所有用户均可编辑
descriptionstring描述信息

返回值

Promise<RangePermission>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 一、对活动工作表的默认区域添加隐藏类型的保护
const rangePermission1 = await rangePermissions.add(Excel.PermissionType.Hide);
// 二、对活动工作表的指定区域添加只读类型的保护
const range = await activeWorksheet.getRange(1,1,5,5);
const rangePermission2 = await rangePermissions.add(Excel.PermissionType.ReadOnly, range);
// 三、对活动工作表的指定区域添加只读类型的保护,同时指定用户1、用户2可以编辑
// test01、test02为用户1、用户2的ID
const range2 = await activeWorksheet.getRange(6,1,11,5);
const rangePermission2 = await rangePermissions.add(Excel.PermissionType.ReadOnly, range2, ['test01','test02']);
}

item

返回一个保护区域对象

语法

RangePermissions.item(index)

RangePermissions:保护区域集合对象

参数

属性数据类型必填说明
indexnumber对象的索引值

返回值

Promise<RangePermission>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取第一个保护区域对象
const rangePermission = await rangePermissions.item(1);
}

deleteAll

对当前工作表所有区域取消保护

语法

RangePermissions.deleteAll()

RangePermissions:保护区域集合对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 取消活动工作表中所有区域的保护
await rangePermissions.deleteAll();
}

RangePermission

返回一个保护区域对象

属性

range

返回当前区域保护的区间

语法

RangePermission.range

RangePermission:保护区域对象

返回值

Promise<Range>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet()
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取保护区域对象
const rangePermission = await rangePermissions.item(1);
// 获取区间
const range = await rangePermission.range;
}

方法

addUsers

为用户添加该区域的编辑权限

语法

RangePermission.addUsers(users)

RangePermission:保护区域对象

参数

属性数据类型必填说明
usersstring[]用户ID,可以同时添加多个用户

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取保护区域对象
const rangePermission = await rangePermissions.item(1);
// 对用户1,用户2添加该区域的编辑权限
// test01、test02为用户1、用户2的ID
await rangePermission.addUsers(['test01','test02']);
}

removeUsers

移除用户对该区域的编辑权限

语法

RangePermission.removeUsers(users)

RangePermission:保护区域对象

参数

属性数据类型必填说明
usersstring[]用户ID,可以同时移除多个用户

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取保护区域对象
const rangePermission = await rangePermissions.item(1);
// 移除用户1,用户2对该区域的编辑权限
// test01、test02为用户1、用户2的ID
await rangePermission.removeUsers(['test01','test02']);
}

removeAllUsers

移除所有用户对该区域的编辑权限

语法

RangePermission.removeAllUsers()

RangePermission:保护区域对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取保护区域对象
const rangePermission = await rangePermissions.item(1);
// 移除所有用户对该区域的编辑权限
await rangePermission.removeAllUsers();
}

delete

对该区域取消保护

语法

RangePermission.delete()

RangePermission:保护区域对象

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook
// 活动工作表
const activeWorksheet = await activeWorkbook.getActiveSheet();
// 获取活动工作表内保护区域对象的集合
const rangePermissions = await activeWorksheet.RangePermissions;
// 获取保护区域对象
const rangePermission = await rangePermissions.item(1);
// 取消保护
await rangePermission.delete();
}

Shapes

返回一个形状对象的集合

属性

count

返回集合中形状的数量

语法

shapes.count

shapes: 形状集合对象

返回值

Promise<number>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeSheet = await activeWorkbook.getActiveSheet();
// 形状集合对象
const shapes = await activeSheet.Shapes;
// 查看形状的数量
const count = await shapes.count;
console.log(count);
}

方法

item

返回单个形状对象

语法

shapes.item(index)

shapes: 形状集合对象

参数

属性数据类型必填说明
indexnumber形状的索引值

返回值

Promise<Shape>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeSheet = await activeWorkbook.getActiveSheet();
// 形状集合对象
const shapes = await activeSheet.Shapes;
// 获取一个形状对象
const shape = await shapes.item(1);
}

Shape

返回一个形状对象

方法

getImageDataURL

获取当前形状转换为图片后的dataURL

语法

shape.getImageDataURL()

shape: 形状对象

返回值

Promise<string>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeSheet = await activeWorkbook.getActiveSheet();
// 形状集合对象
const shapes = await activeSheet.Shapes;
// 获取一个形状对象
const shape = await shapes.item(1);
// 获取当前形状转换为图片后的dataURL
const imageDataURL = await shape.getImageDataURL();
console.log(imageDataURL);
}

DataValidation

返回数据验证对象

方法

setRule

添加或修改数据验证

语法

range.getDataValidation().setRule(DataValidationRule)

参数

属性数据类型必填说明
ruleDataValidationRule数据验证规则相关数据

返回值

Promise<boolean>

示例1

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeSheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange(1,2,1,2);
// 获取数据验证对象
const dataValidation = range.getDataValidation();
// 数据验证规则
const rule = { wholeNumber: { formula1: 1 , formula2: 9, operator: "between"}};
// 新建数据验证
dataValidation.setRule(rule);
}

示例2

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeSheet = await activeWorkbook.getActiveSheet();
// 区域对象
const rangeOption = await activeWorksheet.getRange(1,2,1,2);
const rangeSeq = await activeWorksheet.getRange(1,3,1,3);
// 获取数据验证对象
const dataValidationOption = rangeOption.getDataValidation();
const dataValidationSeq = rangeSeq.getDataValidation();
// 数据验证规则-下拉列表(序列)
const ruleSeq = { list: { inCellDropDown:true , showOptionList: false, source: "\"1,2,3\""} };
// 新建数据验证
dataValidationSeq.setRule(ruleSeq);
// 数据验证规则-下拉列表(选项)
const ruleOption = { list: { inCellDropDown:true , showOptionList: true, source: "\"1,2,3\""} };
// 新建数据验证
dataValidationOption.setRule(ruleOption);
}

clear

清除数据验证

语法

range.getDataValidation().clear()

返回值

Promise<boolean>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeSheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange(1,2,1,2);
// 获取数据验证对象
const dataValidation = range.getDataValidation();
// 删除数据验证
dataValidation.clear();
}

getRule

获取数据验证信息

语法

range.getDataValidation().getRule()

返回值

Promise<any>

示例

async function example() {
// 活动工作簿
const activeWorkbook = await Application.ActiveWorkbook;
// 活动工作表
const activeSheet = await activeWorkbook.getActiveSheet();
// 区域对象
const range = await activeWorksheet.getRange(1,1,1,1);
// 获取数据验证对象
const dataValidation = range.getDataValidation();
// 获取单元格数据验证信息
dataValidation.getRule();
}