确定条件格式是否应用于 Office-js 中的单元格或单元格范围

Determine if conditional formatting is applied to cell or cell range in Office-js

office-js API 是否有一种方法可以确定条件格式是否已应用于单元格或单元格范围?我看到有一种方法可以添加条件格式,但我没有看到一种方法来检查条件格式是否存在。如果应用了条件格式并且可以检查,是否也可以读取格式?

是的,我想你可以从这里得到它("Applies to" 范围) 您可以通过以下代码获取"Apply to"范围:

worksheetRange.conditionalFormats.getItemAt(0).getRange();

下面是供您参考的代码示例:

    const sheet = context.workbook.worksheets.getItem("Sample");
    const worksheetRange = sheet.getRange();
    worksheetRange.conditionalFormats.load("type");
    await context.sync();

    let cfRangePairs: { cf: Excel.ConditionalFormat; range: Excel.Range }[] = [];
    worksheetRange.conditionalFormats.items.forEach((item) => {
      cfRangePairs.push({
        cf: item,
        range: item.getRange().load("address")
      });
    });

    await context.sync();

    if (cfRangePairs.length > 0) {
      cfRangePairs.forEach((item) => {
        console.log(item.cf.type);
        console.log(item.range.address);

      });
    } else {
      console.log("No conditional formats applied.");
    }
  });