0

我使用“自动化”选项卡中的“记录操作”来记录自己创建图表。图表看起来正是我希望它在录制后的样子。

在此处输入图像描述

function main(workbook: ExcelScript.Workbook) {
  let selectedSheet = workbook.getActiveWorksheet();
  // Insert chart on sheet selectedSheet
  let chart_24 = selectedSheet.addChart(ExcelScript.ChartType.pie, selectedSheet.getRange("A6:B7"));
}

正确的图表

我稍微修改了代码,这样当我从 Power Automate 调用这个脚本时它就可以工作了。

function main(workbook: ExcelScript.Workbook) {
  let sheet = workbook.getWorksheet("Dashboard");
  let rng = sheet.getRange("A6:B7");
  let chart_10 = sheet.addChart(ExcelScript.ChartType.pie, rng);
}

但是,当我在没有在工作表上选择数据的情况下运行上面的任一代码时,它现在给了我一个像下面这样的糟糕图表。

坏图表

这刚刚开始发生在我身上。我的代码为我工作了大约两个月,但现在它给了我糟糕的图表。

测试代码后,我注意到它仅在您选择数据并打开工作表时才有效。当你在 Power Automate 中运行它时(你不能使用 select() )它现在总是会给我一个糟糕的图表。自 2021 年 3 月 25 日以来,我一直得到糟糕的图表。在此日期之前,我的代码运行良好。如何在不必使用 select() 的情况下使用范围,以便可以在 Power Automate 中运行它?

选择数据时工作

未选择数据时不起作用

4

1 回答 1

1

这是因为饼图使用的行列切换错误。您可以尝试在选择图表时单击“图表”选项卡下的“切换行/列”按钮查看结果。

作为 Power Automate 的解决方法,您可以使用

function main(workbook: ExcelScript.Workbook) {
  let sheet = workbook.getWorksheet("Sheet2");
  let rng = sheet.getRange("A1:B2");
// 3rd parameter will help avoid this bug. 
  let chart_10 = sheet.addChart(ExcelScript.ChartType.pie, rng, ExcelScript.ChartSeriesBy.columns);
}
于 2021-04-06T04:31:32.817 回答