使用 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.");
});