Skip to content

图形

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
}

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)
}

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)
}

AddPicture()

JSSDK: v1.1.10+、WebOffice v1.67.1+ 支持

将图片插入到当前表格中

语法

表达式.ActiveWorkbook.ActiveSheet.Shapes.AddPicture({ FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height, Scale })

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

参数

属性数据类型默认值必填说明
FileName
String
要在其中创建图片的文件(可以是 Base64 字符串或者在线 URL 链接,链接需要与https://wwww.kdocs.cn同域名)
LinkToFile
Enum
暂不支持,请填0
SaveWithDocument
Enum
暂不支持,请填0
Left
Number
图片左边缘相对于表格左边缘的位置
Top
Number
图片上边缘相对于表格片上边缘的位置
Width
Number
图片的宽度
Height
Number
图片的高度

示例

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

  const app = instance.Application

  // 获取图形对象
  const shapes = await app.ActiveSheet.Shapes
  // 插入非嵌入式图片
  await shapes.AddPicture({
    FileName:
      'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDABsSFBcUERsXFhceHBsgKEIrKCUlKFE6PTBCYFVlZF9VXVtqeJmBanGQc1tdhbWGkJ6jq62rZ4C8ybqmx5moq6T/2wBDARweHigjKE4rK06kbl1upKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKT/wAARCAAyADIDASIAAhEBAxEB/8QAGgAAAgMBAQAAAAAAAAAAAAAAAAQDBQYBAv/EADQQAAEDAgMEBwYHAAAAAAAAAAEAAgMEEQUhMRIiQVEGExQycaGxFWJygZHBIzM0QmFz8P/EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/EABYRAQEBAAAAAAAAAAAAAAAAAAABEf/aAAwDAQACEQMRAD8A0hIAuSl2V9K+QxtqGOeOAKjxRsj8PqGxGz9g2z+qoMEwaaSds9QwtiG8A79yDQOxCla6xlBI5C/oj2jSg2L3N+Jjh6hTxtjj3GBrctALL3bJBAa+lazbM8Ybe19oKaORkjQ5jg4HQg3SdfhdPWsIewNdbJ4GYUGAQvpoJIHuu5khBHLIWQWyEIQJ4iSafq+Ej2sPgTn5JhtgAOFktiOUcTuDJWE+F10sncD+IGmzgLC/HIosmoaqmkfOJI9gG/eJzCml7S2GwO2T3i0eiWqBN1vdc9p03rWKjdJU07L1BkDCbB2RsgtId2MBxJ8UqHNixRw062MEfyQbfcIZ2h7Q4EC4bb65+SikDhXUd837T/kP9ZFsWiEIRktWyRRUkr5xeMNzHNZ+k6ROiaWyxGRoO6Q7eA4X5q5xunkqcNmjiF3ZG3Oxus3gdDJJiTOsiOzGbvDgguh0joHDf6xt/dXk49hwG8XvHAFiedhNA/vUsZ8BZDcHoG6UsfzCCtk6SxOdsU9M+QnTOy9YJW9pqZBUAtqRoDoByA4K5igihbsxRsYPdACpqaieekU9Q0WiZe55kjTzQXyEIQcOhScP66p+Bn3QhA4NF1CEAk6H82p/s+yEIHEIQg//2Q==',
    LinkToFile: 0,
    SaveWithDocument: 0,
    Left: 10, // 图片距离左边位置
    Top: 10, // 图片距离顶部位置
    Width: 120, // 图片宽度
    Height: 120 // 图片高度
  })
}

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)
}

Item().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
}

Item().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)
}

Item().ImageUrl

JSSDK: v1.1.15+、WebOffice v4.2.1+ 支持

单个图形的图片下载链接

语法

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

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

示例

//@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.AddImageUrl2(340, 51, 0, 0, 300, 300)

  // 单个图表对象
  const ImageUrl = await shape.ImageUrl
}

Item().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)
}

Item().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'
}

Item().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)
}

Item().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)
}

Item().SelectedModel()

选择单个图形

语法

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

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

示例

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

  await shape.SelectedModel()
}

Item().SelectedModels()

选择单个图形的集合

语法

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

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

示例

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

  await shape.SelectedModels()
}