在 ExcelJS 中一次删除多个空行

问题描述

我有以下功能适用于少量行:

[{"name":"sam","value":"1"},{"name":"jam","value":"3"},{"name":"dam","value":"4"}]

这个函数的问题在于它会将整行逐行向上移动。 还有另一个函数(从 ScriptLab 修改)用于删除重复项,适用于大量行。

async function RemoveEmptyRows() {
  await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getActiveWorksheet();
    var selectedRange = context.workbook.getSelectedRange();
    var surroundingRegion = selectedRange.getSurroundingRegion();

    var firstCell = selectedRange.getCell(0,0);
    firstCell.load(['columnIndex']);
    surroundingRegion.load(['rowCount','columnCount']);
    

    await context.sync();
    var newRange = sheet.getRangeByIndexes(0,firstCell.columnIndex,surroundingRegion.rowCount,1);
    newRange.load(['address','rowCount','values']);
    await context.sync();
    
    var i = 0;
    var loopRange = newRange.rowCount;
    var counter = 0;
    var cellText = "";

    while (i < loopRange) {
      cellText = newRange.values[i][0];

      if (cellText == "") {
          var entireRow = sheet.getRangeByIndexes(i - counter,1,surroundingRegion.columnCount);
        entireRow.delete(Excel.DeleteShiftDirection.up);
        counter++;
      }
      i++;
    }

    await context.sync();
  });
}

有没有办法创建类似于 RemoveDuplicates 函数的东西,但用于 EmptyRows?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)