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)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| params | string | 是 | 多个值以分号相隔 |
返回值
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:表格应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 工作表名称 |
返回值
Promise<Excel.Sheet>
示例
async function example() {
const sheet = await Application.ActiveWorkbook.getSheetByName('sheet1');
}
newSheet
新建工作表
语法
Application.ActiveWorkbook.newSheet(name)
Application:表格应用对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 新建的工作表的名称 |
返回值
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)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| value | number | 是 | 缩放比例 |
返回值
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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 新的工作表名称 |
返回值
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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 要插入的工作表的名称 |
返回值
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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| range | Excel.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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startRow | number | 是 | 开始行号(从1开始,下同) |
| startCol | number | 是 | 开始列号 |
| endRow | number | 是 | 结束行号 |
| endCol | number | 是 | 结束列号 |
返回值
Excel.Range
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = activeSheet.getRange(1, 1, 3, 4);
}
setFreezeRow
设置冻结行
语法
sheet.setFreezeRow(rowIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 冻结行号(起始行号为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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 冻结列号(起始行号为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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 隐藏行号(起始行号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideRow(5);
}
hideRows
隐藏多行
语法
sheet.hideRows(startIndex, endIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startIndex | number | 是 | 隐藏开始行号 (起始行号为1,下同) |
| endIndex | number | 是 | 隐藏结束行号 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideRows(1, 5);
}
showRow
显示行
语法
sheet.showRow(rowIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 显示行号(起始行号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showRow(5);
}
showRows
显示多行
语法
sheet.showRows(startIndex, endIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startIndex | number | 是 | 显示开始行号(起始行号为1,下同) |
| endIndex | number | 是 | 显示结束行号 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showRows(1, 5);
}
insertRow
插入一行
语法
sheet.insertRow(rowIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 插入行号(起始行号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertRow(5);
}
insertRows
插入多行
语法
sheet.insertRows(rowIndex, count)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 插入行号(起始行号为1,下同) |
| count | number | 是 | 插入行数,最大为29999行 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertRows(5, 2);
}
deleteRow
删除行
语法
sheet.deleteRow(rowIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 删除行号(起始行号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.deleteRow(5);
}
deleteRows
删除多行
语法
sheet.deleteRows(rowIndex, count)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 删除行号(起始行号为1,下同) |
| count | number | 是 | 删除行数,最大为29999行 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.deleteRows(2, 5);
}
hideColumn
隐藏列
语法
sheet.hideColumn(colIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 隐藏列号(起始列号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideColumn(5);
}
hideColumns
隐藏多列
语法
sheet.hideColumns(startIndex, endIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startIndex | number | 是 | 隐藏开始列号(起始列号为1,下同) |
| endIndex | number | 是 | 隐藏结束列号 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.hideColumns(1, 5);
}
showColumn
显示列
语法
sheet.showColumn(colIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 显示列号(起始列号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showColumn(5);
}
showColumns
显示多列
语法
sheet.showColumns(startIndex, endIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startIndex | number | 是 | 显示开始列号(起始行号为1,下同) |
| endIndex | number | 是 | 显示结束列号 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.showColumns(1, 5);
}
insertColumn
插入一列
语法
sheet.insertColumn(colIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 插入列号(起始列号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertRow(5);
}
insertColumns
插入多列
语法
sheet.insertColumns(colIndex, count)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 插入列号(起始列号为1,下同) |
| count | number | 是 | 插入列数,最大为1023行 |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.insertColumns(5, 2);
}
deleteColumn
删除列
语法
sheet.deleteColumn(colIndex)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 删除列号(起始列号为1) |
返回值
Promise<boolean>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const success = await activeSheet.deleteColumn(5);
}
deleteColumns
删除多列
语法
sheet.deleteColumns(colIndex, count)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 删除列号(起始列号为1,下同) |
| count | number | 是 | 删除列数,最大为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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 列号 (起始列号为1) |
| width | number | 是 | 列宽值,介于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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startIndex | number | 是 | 开始列号(起始列号为1,下同) |
| endIndex | number | 是 | 结束列号 |
| width | number | 是 | 列宽值,介于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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| colIndex | number | 是 | 列号(起始列号为1) |
返回值
Promise<number>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const width = await activeSheet.getColumnWidth(5);
}
setRowHeight
设置行高
语法
sheet.setRowHeight(rowIndex, height)
sheet:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 行号(起始行号为1) |
| height | number | 是 | 行高值,介于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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| startIndex | number | 是 | 开始行号(起始行号为1,下同) |
| endIndex | number | 是 | 结束行号 |
| height | number | 是 | 行高值,介于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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rowIndex | number | 是 | 行号(起始行号为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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| image | Blob 或者 string | 是 | Blob可通过设置input元素的type为file或其他方式获得;string为图片的url(因为浏览器安全限制,不支持本地图片的url) |
| rowIndex | number | 是 | 插入行号(起始行号为1) |
| colIndex | number | 是 | 插入列号(起始列号为1) |
| offsetX | number | 否 | 可选参数,介于0-20 |
| offsetY | number | 否 | 可选参数,介于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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| image | Blob 或者 string | 是 | Blob可通过设置input元素的type为file或其他方式获得;string为图片的url(因为浏览器安全限制,不支持本地图片的url) |
| rowIndex | number | 是 | 插入行号(起始行号为1) |
| colIndex | number | 是 | 插入列号(起始列号为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:工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| dataOnly | boolean | 否 | 是否只获取当前工作表内数据区域的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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| row | number | 是 | 行号,区域内第几行,起始行号为1 |
| column | number | 是 | 列号,区域内第几列,起始列号为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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| value | number | 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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| values | string|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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| color | string | 是 | 设置颜色 |
返回值
Promise<void>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange(2,3,2,4);
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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| color | string | 是 | 设置颜色 |
返回值
Promise<void>
示例
async function example() {
const activeSheet = await Application.ActiveWorkbook.getActiveSheet();
const range = await activeSheet.getRange(2,3,2,4);
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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| dataOnly | boolean | 否 | 是否只获取当前范围内数据区域的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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| fontFamily | string | 是 | '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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| fontSize | number | 是 | fontSize >= 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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| fontStyle | string | 是 | '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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| isWrapEnabled | boolean | 是 |
返回值
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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| alignment | string | 是 | '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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| alignment | string | 是 | '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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| top | boolean | 是 | true for border |
| left | boolean | 是 | 同上 |
| bottom | boolean | 是 | 同上 |
| right | boolean | 是 | 同上 |
| vertical | boolean | 是 | 同上 |
| horizontal | boolean | 是 | 同上 |
| color | string | 是 | css语法中的颜色,例如'#ffffff'或者'white',null for black |
| style | Excel.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:区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| destination | Range | 是 | 目标区域。目标区域必须包含源区域 |
| type | XlAutoFillType | 否 | 填充类型。默认为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: 名称集合对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| Name | string | 是 | 定义的名称 |
| RefersTo | string | 是 | 名称的引用区间 |
返回值
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)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number(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:保护工作表集合对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| type | PermissionType | 是 | 保护的类型 |
| sheet | Excel.Sheet | 否 | 添加保护的工作表(默认为当前工作表) |
| users | string[] | 否 | 对保护工作表拥有编辑权限的用户 |
| description | string | 否 | 描述信息 |
返回值
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:保护工作表集合对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 对象的索引值 |
返回值
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:保护工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| users | string[] | 是 | 用户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:保护工作表对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| users | string[] | 是 | 用户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:保护区域集合对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| type | PermissionType | 是 | 保护的类型 |
| range | Excel.Range | 否 | 添加保护的区域(默认为当前选中区域) |
| users | string[] | 否 | 对受保护区域拥有编辑权限的用户,当传入['everyone']意为该区域所有用户均可编辑 |
| description | string | 否 | 描述信息 |
返回值
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:保护区域集合对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 对象的索引值 |
返回值
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:保护区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| users | string[] | 是 | 用户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:保护区域对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| users | string[] | 是 | 用户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: 形状集合对象
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| index | number | 是 | 形状的索引值 |
返回值
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)
参数
| 属性 | 数据类型 | 必填 | 说明 |
|---|---|---|---|
| rule | DataValidationRule | 是 | 数据验证规则相关数据 |
返回值
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();
}