You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何修改Google Sheets中计分卡图表关键值的字体颜色?

Google Sheets计分卡关键值字体颜色修改方案

问题核心

计分卡图表的**主数值(关键值)**文本样式有专属配置项,你之前尝试的textStyle.color等通用选项对其无效,同时代码存在两处小错误导致功能失效。

修正后的完整代码

function updateScorecardColors() {
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  const sheets = spreadsheet.getSheets();

  // 颜色阈值配置
  const colors = {
    high: '#34a853',    // 绿色 (>10)
    medium: '#fbbc04',  // 黄色 (>5 且 <=10)
    low: '#ea4335'      // 红色 (<=5)
  };

  sheets.forEach(sheet => {
    const chart = sheet.getCharts()[0];

    if (chart) {
      const value = sheet.getRange('A5').getValue();
      let color;

      if (value > 10) color = colors.high;
      else if (value > 5) color = colors.medium;
      else color = colors.low;

      // 修改主值字体颜色并生成新图表
      const updatedChart = chart.modify()
        .setOption('valueTextStyle.color', color)
        .build();

      sheet.updateChart(updatedChart);
    }
  });
}

关键修正点

  1. 变量名一致性:原代码中const charts = sheet.getCharts()[0];与后续chart.modify()变量名不匹配,修正为const chart = ...避免报错。
  2. 专属样式选项:计分卡主数值的颜色需通过valueTextStyle.color配置,其他选项对应功能:
    • titleTextStyle.color:标题颜色
    • comparisonTextStyle.color:对比值颜色
    • labelTextStyle.color:标签文本颜色
  3. 必须调用build():调用modify()后需通过.build()生成新的图表对象,否则无法完成图表更新。

时间触发器设置

代码验证生效后,可通过Google Apps Script编辑器的「编辑」→「当前项目的触发器」添加时间驱动触发器,实现自动定时更新。

内容的提问来源于stack exchange,提问作者ArJay Ongkiko

火山引擎 最新活动