玉笛 发表于 2024-10-28 17:28:48

15.0.5 删除行后数据验证丢失

本帖最后由 Joestar.Xu 于 2024-10-29 09:38 编辑


调研编号:SJS-27070

原表格sheet2的E列和J列设置了有效性校验,在根据地区编码把不匹配的数据删除后

有的地区看有效性校验正常,如下图




有的地区数据有效性丢失,如下图



数据筛选函数,其中mofDivCode为区划代码,用来与表格中的A列进行匹配

function handleSheet(sheet) {
      let firstCellVals = handleSpanVal(sheet);
      let rowCount = sheet.getRowCount();
      let startFillRow;
      let deleteFisrtRow = null;
      let deleteRows = [];
      for (let row = 0; row < rowCount; row++) {
          let cellVal = firstCellVals[row];
          if (cellVal == "填报开始") {
            startFillRow = row;
            areaFillRow = row;
            continue;
          }
          if (cellVal != mofDivCode && startFillRow) {
            deleteRows.push(row);
          }
      }
      if (startFillRow && deleteRows.length > 0) {
          deleteFisrtRow = deleteRows.shift();
          let delCount = 1;
          for (let i = deleteRows.length - 1; i >= 0; i--) {
            if (i > 0 && deleteRows[i] == deleteRows[i - 1] + 1) {
            delCount++;
            continue;
            } else {
            sheet.deleteRows(deleteRows[i], delCount);
            delCount = 1;
            }
          }
          sheet.deleteRows(deleteFisrtRow, 1);
      }
      }





麻烦帮忙分析下是什么原因

Joestar.Xu 发表于 2024-10-28 17:29:39

您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。

Joestar.Xu 发表于 2024-11-22 17:49:21

您好,该问题已在17.1.9版本中修复,您可以升级后再测试一下。
页: [1]
查看完整版本: 15.0.5 删除行后数据验证丢失