文档

图形

更新时间:

本文介绍使用表格文档时如何获取图形数量、添加图表、设置图表标题等。

获取图形对象

获取当前工作表上所有Shape对象的集合。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    }

查看图形数量

查看当前工作表上图形的数量。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Count

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //查看当前图形的数量
      const count = await shapes.Count;
      console.log(count);
    }

添加图形

在当前工作表添加图形。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.AddChart2({ Style, XlChartType, Left, Top, Width, Height })

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Style

    String

    指定新建图表的样式。

    XlChartType

    Enum

    指定新建图表的类型。

    Left

    Number

    指定新建图表的左边距,单位为px。

    Top

    Number

    指定新建图表的上边距,单位为px。

    Width

    Number

    指定新建图表的宽度,单位为px。

    Height

    Number

    指定新建图表的高度,单位为px。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //添加300*300的矩形
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    }

单个图形

获取单个图形对象

代表绘图层中的对象。例如自选图形、任意多边形、OLE对象或图片。

  • 语法

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

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //添加300×300的矩形
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图形对象
      const shape = await shapes.Item(1);
    }

设置单个图形标题

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Title

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //添加300×300的矩形
      await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图形对象
      const shape = await shapes.Item(1);
    
      //设置图形标题
      shape.Title = 'WebOffice';
    }

获取单个图形名称

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Name

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

  • 示例

    //@file=base.xlsx
    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加300×300的矩形
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取图形名称
      const name = await shape.Name;
      console.log(name);
    }

获取单个图形ID

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).ID

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

  • 示例

    //@file=base.xlsx
    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //图形对象
      const shapes = await activeSheet.Shapes;
    
      //添加300×300的矩形
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取图形ID
      const id = await shape.ID;
      console.log(id);
    }

选择单个图形

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Select()

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //获取单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取图形数据源
      const source = await activeSheet.Range('A1:B4');
    
      //设置图形数据源
      await shape.Chart.SetSourceData(source, 1);
    
      //选择单个图形
      setTimeout( async () => {
        await shape.Select();
      }, 3000);
    }

删除单个图形

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Delete()

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //获取单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取图形数据源
      const source = await activeSheet.Range('A1:B4');
    
      //设置图形数据源
      await shape.Chart.SetSourceData(source, 1);
    
      //删除单个图形
      setTimeout( async () => {
        await shape.Delete();
      }, 3000);
    }

单个图表

获取单个图表对象

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //获取单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图表对象
      const chart = await shape.Chart;
    }

设置图表数据源

为指定图表设置源数据区域。

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart.SetSourceData({ Source, PlotBy })

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

  • 参数

    属性

    数据类型

    是否必填

    描述

    Source

    Range

    包含源数据的区域,可用Range对象。

    PlotBy

    Enum

    指定图表类型。

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图表对象
      const chart = await shape.Chart;
    
      //获取图表数据源
      const source = await activeSheet.Range('A1:D4');
    
      //设置图表数据源
      await chart.SetSourceData(source, 1);
    }

设置标题是否可见

如果坐标轴或图表有可见标题,则该属性值为true

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart.HasTitle

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合取图形对象
      const shapes = await activeSheet.Shapes;
    
      //获取单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图表对象
      const chart = await shape.Chart;
    
      //获取图表数据源
      const source = await activeSheet.Range('A1:D4');
    
      //设置图表数据源
      await chart.SetSourceData(source, 1);
    
      //设置标题不可见
      chart.HasTitle = false;
    }

设置图例是否可见

如果图表有图例,则该属性值为true

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart.HasLegend

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //获取单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图表对象
      const chart = await shape.Chart;
    
      //获取图表数据源
      const source = await activeSheet.Range('A1:D4');
    
      //设置图表数据源
      await chart.SetSourceData(source, 1);
    
      //设置图例不可见
      chart.HasLegend = false;
    }

设置标题

  • 语法

    表达式.ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart.ChartTitle.Text

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

  • 示例

    async function example() {
      await instance.ready();
    
      const app = instance.Application;
      
      //获取活动工作簿中的活动工作表
      const activeSheet = await app.ActiveWorkbook.ActiveSheet;
    
      //获取当前工作表上的所有Shape对象的集合
      const shapes = await activeSheet.Shapes;
    
      //获取单个图形对象
      const shape = await shapes.AddChart2(340, 51, 0, 0, 300, 300);
    
      //获取单个图表对象
      const chart = await shape.Chart;
    
      //获取图表数据源
      const source = await activeSheet.Range('A1:D4');
    
      //设置图表数据源
      await chart.SetSourceData(source, 1);
    
      //设置新标题
      chart.ChartTitle.Text = '这是新标题';
    }
  • 本页导读 (1)
文档反馈