Skip to content

表格组件图形操作相关 API

添加图形

ActiveWorkbook.ActiveSheet.Shapes.AddChart2()

添加图形

语法

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

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

参数

属性数据类型默认值必填说明
Style
String
指定图表样式
XlChartType
Enum
指定图表类型,对应 Enum.XlChartType
Left
Number
指定新建图表的左边距,单位 px
Top
Number
指定新建图表的上边距,单位 px
Width
Number
指定新建图表的宽度,单位 px
Height
Number
指定新建图表的高度,单位 px

示例

//@file=base.xlsx
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)
}

图形对象

ActiveWorkbook.ActiveSheet.Shapes

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

语法

表达式.ActiveWorkbook.ActiveSheet.Shapes

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

示例

//@file=base.xlsx
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

图形的数量

语法

表达式.ActiveWorkbook.ActiveSheet.Shapes.Count

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

示例

//@file=base.xlsx
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.Item(Index).Chart.HasLegend

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

语法

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

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

示例

//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 图形对象
  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.HasTitle

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

语法

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

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

示例

//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 图形对象
  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
}

设置图表数据源

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart.SetSourceData()

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

语法

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

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

参数

属性数据类型默认值必填说明
Source
Range
包含源数据的区域,可用 Range 对象
PlotBy
Enum
指定图表类型,对应 Enum.XlRowCol,可以为 xlColumns 或 xlRows

示例

//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 图形对象
  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)
}

单个图表对象

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Chart

单个图表对象

语法

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

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

示例

//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 图形对象
  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.ChartTitle.Text

设置标题

语法

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

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

示例

//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 图形对象
  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 = '这是新标题'
}

删除单个图形

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).Delete()

删除单个图形

语法

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

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

示例

//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet

  // 图形对象
  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).Select()

选择单个图形

语法

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

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

示例

//@file=base.xlsx
async function example() {
  await instance.ready()

  const app = instance.Application

  // 活动工作簿中的活动工作表
  const activeSheet = await app.ActiveWorkbook.ActiveSheet
  //或者 activeSheet = await app.ActiveSheet;

  // 图形对象
  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).Name

单个图形标题

语法

表达式.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)
}

单个图形对象

ActiveWorkbook.ActiveSheet.Shapes.Item(Index)

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

语法

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

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

示例

//@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 的矩形
  await shapes.AddChart2(340, 51, 0, 0, 300, 300)

  // 获取最新的图形对象集合
  const newShapes = await activeSheet.Shapes

  // 单个图形对象
  const shape = await newShapes.Item(1)
}

单个图形 ID

ActiveWorkbook.ActiveSheet.Shapes.Item(Index).ID

单个图形 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).Title

单个图形标题

语法

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

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

示例

//@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)

  // 设置图形标题
  shape.Title = 'WebOffice'
}