excel - Excel打字稿更新图表数据系列
问题描述
我创建了一个办公脚本,对 excel 数据进行一些操作并创建一个表格。该表的数据是图表的输入。该图表已存在于 Excel 文件中。现在,每当将新项目添加到表中时,我都需要手动更新图表的数据范围,但我当然想自动执行此操作。我找不到任何关于此的文档。在 VBA 中,我可以更新图表的数据范围,并尝试将其移植到 office 脚本,但没有运气。
在 VBA 中是这样的:
ActiveChart.FullSeriesCollection(1).XValues = "='summary and graph'!$A$2:$A$42"
ActiveChart.FullSeriesCollection(1).Values = "='summary and graph'!$B$2:$B$42"
ActiveChart.FullSeriesCollection(2).Values = "='summary and graph'!$C$2:$C$42"
在 excel office 脚本中执行此操作的方法是什么?语法是什么?
谢谢,乔里斯
解决方案
这是您在录制时为表格创建图表时获得的代码
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
let table1 = workbook.getTable("Table1");
// Insert chart on sheet selectedSheet with source data from table1
let chart_5 = selectedSheet.addChart(ExcelScript.ChartType.columnClustered, table1.getRange());
}
您可以使用setData方法更改图表源数据。
您还可以使用getSeries方法获取图表系列集合,并使用setValues方法为每个系列设置值。示例代码可能是 -
let seriesCollection = chart_5.getSeries();
let range = workbook.getWorksheet("summary and graph").getRange("B2:B42");
seriesCollection[0].setValues(range);
range = workbook.getWorksheet("summary and graph").getRange("C2:C42");
seriesCollection[1].setValues(range);
推荐阅读
- jsf - Primefaces 组件的属性值何时更新?
- c# - 为什么我的 cancelTokenSource 会抛出空对象异常?
- php - Symfony bundle - REST API 两种类型的身份验证
- rxjs - 用其他 Observable 替换已经有订阅者的 Observable
- html - CSS Flexbox:对齐具有不同宽度的弹性项目
- verilog - VVP开始模拟时如何修复无限运行时间?
- java - 使用spring bean xml初始化自定义内部对象
- python - 对值和百分比进行排序会导致不准确
- python-xarray - 将多模型多运行集成到 xarray 数据集中
- angular - 如何停止 CdkDropList 和 Material 表之间的这种奇怪的交互