本文介绍使用表格文档时如何获取图形数量、添加图表、设置图表标题等。
获取图形对象
获取当前工作表上所有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 = '这是新标题'; }