本文介绍与表格文档Sheet相关的API。

Sheets

ActiveWorkbook.Sheets

获取活动工作簿中的所有工作表。

  • 语法

    表达式.ActiveWorkbook.Sheets

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取工作簿中的所有工作表
      const sheets = await app.ActiveWorkbook.Sheets;
    }

方法

ActiveWorkbook.Sheets.Add()

通过Add()方法,您可以新增工作表。

  • 语法

    表达式.ActiveWorkbook.Sheets.Add({ Before, After, Count, Type, Name })

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Before

    String/Number

    指定工作表的对象,新增的工作表将置于此工作表之前。

    After

    String/Number

    指定工作表的对象,新增的工作表将置于此工作表之后。

    Count

    Number

    新增工作表的数量。默认值为1。

    Type

    Enum

    新增工作表的类型。更多信息,请参见XlSheetType

    Name

    Name

    新增工作表的名称。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的所有工作表
      const sheets = await app.ActiveWorkbook.Sheets;
    
      //新增工作表
      await sheets.Add(null, null, 1, app.Enum.XlSheetType.xlWorksheet, '新工作表');
    }

属性

ActiveWorkbook.Sheets.Count

通过Count属性,您可以获取活动工作簿中工作表的数量。

  • 语法

    表达式.ActiveWorkbook.Sheets.Count

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的所有工作表
      const sheets = await app.ActiveWorkbook.Sheets;
    
      //获取工作表的数量
      const count = await sheets.Count;
      console.log(count);
    }

Sheet

ActiveWorkbook.Sheets.Item(Index)

获取活动工作簿中的单个工作表对象。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Item

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const sheet = await app.ActiveWorkbook.Sheets.Item(1)
    
    }

方法

ActiveWorkbook.Sheets.Item(Index).Delete()

通过Delete()方法,您可以删除活动工作簿中的单个工作表。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Delete()

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const sheet = await app.ActiveWorkbook.Sheets.Item(1)
    
      //删除该工作表
      await Sheet.Delete();
    
    }

ActiveWorkbook.Sheets.Item(Index).ExportAsFixedFormat()

通过ExportAsFixedFormat()方法,您可以导出工作表为对应的PDF或者Img图片,并获取导出文件的URL。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).ExportAsFixedFormat({ Type })

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Type

    Enum

    导出文件的类型。更多信息,请参见XlFixedFormatType

    说明

    目前仅支持导出图片和导出 PDF。

  • 返回值

    属性

    数据类型

    描述

    url

    string

    导出后的URL。

  • 示例

    • 导出PDF

      //@file=base.xlsx
      async function example() {
        await instance.ready();
      
        const app = instance.Application;
      
        //导出整个表格
        const workbookPdfUrl = await app.ActiveWorkbook.Sheets.Item(1).ExportAsFixedFormat();
        console.log(workbookPdfUrl);
      }
    • 导出图片

      //@file=base.xlsx
      async function example() {
        await instance.ready();
      
        const app = instance.Application;
      
        //导出整个表格
        const workbookPdfUrl = await app.ActiveWorkbook.Sheets.Item(1).ExportAsFixedFormat({
          Type: app.Enum.XlFixedFormatType.xlTypeIMG,
        });
        console.log(workbookPdfUrl);
      }

ActiveWorkbook.Sheets.Item(Index).Protect()

通过Protect()方法,您可以设置保护指定工作表使其不被修改。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Protect({ Password, DrawingObjects, Scenarios, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables })

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

  • 参数

    属性

    数据类型

    默认值

    必填

    说明

    Password

    String

    指定工作表或工作簿的区分大小写密码的字符串。如果省略此参数,可以不使用密码地解除对工作表或工作簿的保护。否则,必须指定密码才能解除对工作表或工作簿的保护。如果忘记密码,则无法解除对工作表或工作簿的保护

    DrawingObjects

    Boolean

    false

    如果为 true,则保护形状

    Scenarios

    Boolean

    true

    如果为 true,则保护方案。此参数仅对工作表有效

    AllowSelLockedCells

    Boolean

    true

    如果为 true, 则禁止选中锁定单元格

    AllowSelUnLockedCells

    Boolean

    true

    如果为 true, 则禁止选中未锁定单元格

    AllowFormattingCells

    Boolean

    false

    如果为 true,则允许用户格式化受保护工作表上的任何单元格

    AllowFormattingColumns

    Boolean

    false

    如果为 true,则允许用户格式化受保护工作表上的任何列

    AllowFormattingRows

    Boolean

    false

    如果为 true,则允许用户格式化受保护的工作表上的任何行

    AllowInsertingColumns

    Boolean

    false

    如果为 true,则允许用户在受保护工作表上插入列

    AllowInsertingRows

    Boolean

    false

    如果为 true,则允许用户在受保护工作表上插入行

    AllowInsertingHyperlinks

    Boolean

    false

    如果为 true,则允许用户在受保护的工作表上插入超链接

    AllowDeletingColumns

    Boolean

    false

    如果为 true,则允许用户在受保护的工作表上删除列,其中要删除的列中的每个单元格都处于解锁状态

    AllowDeletingRows

    Boolean

    false

    如果为 true,则允许用户在受保护的工作表上删除行,其中要删除的行中的每个单元格都处于解锁状态

    AllowSorting

    Boolean

    false

    如果为 true,则允许用户对受保护工作表进行排序。排序范围内的每个单元都必须处于解锁或不受保护的状态

    AllowFiltering

    Boolean

    false

    如果为 true,则允许用户在受保护的工作表上设置筛选。用户可以更改筛选条件,但无法启用或禁用自动筛选。 用户可以在现有自动筛选上设置筛选

    AllowUsingPivotTables

    Boolean

    false

    如果为 true,则允许用户在受保护的工作表上使用数据透视表

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //设置密码
      Sheet.Protect('123456');
    }

ActiveWorkbook.Sheets.Item(Index).Unprotect()

通过Unprotect()方法,您可以解除指定工作表中的保护,如果工作表未受保护,则此方法无效。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Unprotect({ Password })

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Password

    String

    设置的密码。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //解除保护
      Sheet.Unprotect('123456');
    }

ActiveWorkbook.Sheets.Item(Index).Activate()

通过Activate()方法,您可以切换到指定工作表。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Activate()

    或者表达式.Sheets(Index).Activate()

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Index

    Number

    第Index个工作表。

  • 示例

    • 示例一

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //切换到指定工作表
        const sheetIndex = 2;
        app.ActiveWorkbook.Sheets.Item(Index).Activate();
      }
    • 示例二

      async function example() {
        await instance.ready();
      
        const app = instance.Application;
        
        //获取活动工作簿中的单个工作表对象
        const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
      
        //切换到指定工作表
        const sheetIndex = 2;
        app.Sheets(Index).Activate();
      }

ActiveWorkbook.Sheets.Item(Index).Move()

通过Move()方法,您可以移动工作表。

重要

JS-SDK V1.1.12及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Move({ Before, After })

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Before

    number

    指定的工作表ID。将目标工作表移动到该工作表之前。如果指定After,则不能指定Before。

    After

    number

    指定的工作表ID。将目标工作表移动到该工作表之后。如果指定Before,则不能指定After。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //将目标工作表移动到该工作表之后
      await app.ActiveWorkbook.Sheets(1).Move({
        Before: null,
        After: await app.ActiveWorkbook.Sheets(2).Id,
      })
    }

属性

ActiveWorkbook.Sheets.Item(Index).Type

通过Type属性,您可以获取指定工作表的类型。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Type

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的类型
      const Type = await sheet.Type;
      console.log(Type);
    }

ActiveWorkbook.Sheets.Item(Index).Columns

通过Columns属性,您可以获取指定工作表的所有列。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Columns

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的所有列
      const chartObjects = await activeSheet.Columns;
    }

ActiveWorkbook.Sheets.Item(Index).Range

通过Range属性,您可以获取一个单元格或单元格区域。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Range

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的一个单元格或单元格区域
      const Range = await Sheet.Range;
    
      //指定D2单元格
      const range = await Range.Item("D2");
      //或者range = await Range("D2")
      
      //选中该单元格
      await range.Select();
    }

ActiveWorkbook.Sheets.Item(Index).Cells

通过Cells属性,您可以获取指定工作表中的所有单元格。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Cells

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的所有单元格
      const cells = await Sheet.Cells;
    
      //指定第一个单元格
      const cell = await cells.Item(1);
      //或者cell = await cells(1)
      
      //选中该单元格
      await cell.Select();
      await range.Select();
    }

ActiveWorkbook.Sheets.Item(Index).Name

通过Name属性,您可以获取指定工作表的名称。

重要

JS-SDK V1.1.10及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Name

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      const name = await app.ActiveWorkbook.Sheets.Item(1).Name;
      console.log(name);
    }

ActiveWorkbook.Sheets.Item(Index).Names

通过Names属性,您可以获取指定工作表的所有名称。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Names

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的所有名称
      const names = await activeSheet.Names;
    }

ActiveWorkbook.Sheets.Item(Index).Rows

通过Rows属性,您可以获取指定工作表的所有行。

重要

JS-SDK V1.1.10及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Rows

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的所有行
      const Rows = await Sheet.Rows;
    
      //指定第一行
      const row = await Rows.Item(1);
      //或者row = await Rows(1)
      
      //选中该行
      await row.Select();
    }

ActiveWorkbook.Sheets.Item(Index).UsedRange

通过UsedRange属性,您可以获取指定工作表的所用区域。

重要

JS-SDK V1.1.10及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).UsedRange

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的所用区域
      const UsedRange = await Sheet.UsedRange;
    
      //选中所用区域
      UsedRange.Select();
    }

ActiveWorkbook.Sheets.Item(Index).Index

通过Index属性,您可以获取指定工作表的Index。

重要

JS-SDK V1.1.10及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Index

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取工作表的Index
      const Index = await app.ActiveWorkbook.Sheets.Item(Index).Index;
      console.log(Index);
    }

ActiveWorkbook.Sheets.Item(Index).Shapes

通过Shapes属性,您可以获取指定工作表的所有图形对象。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Shapes

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的单个工作表对象
      const Sheet = await app.ActiveWorkbook.Sheets.Item(Index);
    
      //获取该工作表的所用图形对象
      const shapes = await activeSheet.Shapes;
    }

ActiveWorkbook.Sheets.Item(Index).Visible

通过Visible属性,您可以设置和获取指定工作表是否隐藏。

重要

JS-SDK V1.1.10及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Visible = Boolean

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

    Boolean取值为true时,表示显示指定工作表,取值为false时,表示隐藏指定工作表。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //查看指定工作表是否隐藏
      const visible = await app.ActiveWorkbook.Sheets.Item(Index).Visible;
      console.log(visible);
      //返回值为true,表示该工作表为显示状态,返回值为false,表示该工作表为隐藏状态
     
    
      //设置指定工作表隐藏
      app.ActiveWorkbook.Sheets.Item(Index).Visible = false;
    }

ActiveWorkbook.Sheets.Item(Index).Id

通过Id属性,您可以获取指定工作表的ID。

重要

JS-SDK V1.1.10及以上版本支持此功能。

  • 语法

    表达式.ActiveWorkbook.Sheets.Item(Index).Id

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取指定工作表ID
      const id = await app.ActiveWorkbook.Sheets.Item(Index).Id;
      console.log(id);
    }