请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

玉笛

注册会员

1

主题

1

帖子

6

积分

注册会员

积分
6
  • 14

    金币

  • 1

    主题

  • 1

    帖子

最新发帖
玉笛
注册会员   /  发表于:2024-10-28 17:28  /   查看:86  /  回复:1
本帖最后由 Joestar.Xu 于 2024-10-29 09:38 编辑


调研编号:SJS-27070

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

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

image.png662890014.png
image.png796670532.png

有的地区数据有效性丢失,如下图
image.png354481810.png
image.png900903320.png

数据筛选函数,其中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);
        }
      }





麻烦帮忙分析下是什么原因
image.png139762267.png

1 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-10-28 17:29:39
沙发
您好,您描述的情况我了解了,这边调研一下,后续有进展我会在本贴中回复您。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部