使用 Excel JavaScript API 删除重复项

本文提供了一个代码示例,该示例使用 Excel JavaScript API 删除区域中的重复条目。 有关对象支持的属性和方法 Range 的完整列表,请参阅 Excel.Range 类

删除具有重复条目的行

Range.removeDuplicates 方法删除指定列中具有重复条目的行。 方法遍历从上到下) 范围内从最低值索引到最高值索引范围内的每一行 (。 如果指定列中的值之前显示在区域中,则会删除该行。 在区域内位于已删除行下方的行将上移。 removeDuplicates 不影响该区域外的单元格位置。

removeDuplicates 使用 number[] 来表示已执行重复项检查的列索引。 此数组从零开始并且与区域而不是与工作表相关。 方法还采用布尔参数,该参数指定第一行是否为标题。 当 为 时 true,考虑重复项时,将忽略顶部行。 方法 removeDuplicates 返回一个 RemoveDuplicatesResult 对象,该对象指定删除的行数和剩余的唯一行数。

使用区域的 removeDuplicates 方法时,请记住以下几点。

  • removeDuplicates 会考虑单元格值,而不是函数结果。 如果两个不同的函数具有相同的求值结果,则不会将单元格值视为重复项。
  • removeDuplicates 不会忽略空单元格。 空单元格的值与任何其他值具有相同的处理方式。 这意味着区域内所含的空行将包含在 RemoveDuplicatesResult 中。

下面的代码示例演示如何删除第一列中具有重复值的条目。

await Excel.run(async (context) => {
    let sheet = context.workbook.worksheets.getItem("Sample");
    let range = sheet.getRange("B2:D11");

    let deleteResult = range.removeDuplicates([0],true);
    deleteResult.load();

    await context.sync();

    console.log(deleteResult.removed + " entries with duplicate names removed.");
    console.log(deleteResult.uniqueRemaining + " entries with unique names remain in the range.");
});

删除重复条目之前的数据

Excel 中区域删除重复项方法之前的数据已运行。

删除重复条目后的数据

运行区域删除重复方法后 Excel 中的数据。

另请参阅