javascript - 仅复制非空单元格
问题描述
我有这段代码,它从列中复制数据并将其传输到表格底部的另一张表中。这很好用,但问题是它复制了包括空白列在内的整个列。我只想将单元格限制为仅包含数据的单元格。这是代码:
function addTitles() {
let spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
let sourceSheet = spreadSheet.getSheetByName('Data Entry');
let sourceRange = sourceSheet.getDataRange();
let sourceValues = sourceRange.getValues();
sourceValues = sourceValues.slice(1).map(row => row.slice(10,10+1));
let sheetToAdd = spreadSheet.getSheetByName('Cost of Goods');
let rowCount = sourceValues.length;
let columnCount = sourceValues[0].length;
let lastRow = sheetToAdd.getLastRow() + 1;
let targetSheet = spreadSheet.getSheetByName('Cost of Goods');
let targetRange = targetSheet.getRange(lastRow,1,rowCount,columnCount);
targetRange.setValues(sourceValues);
let fillDown = sheetToAdd.getRange(lastRow, 2, lastRow-1, columnCount);
sheetToAdd.getRange("B4:CV4").copyTo(fillDown);
}
解决方案
问题:
如果我理解正确,您想过滤掉sourceValues
具有空字符串作为其值的行(您只是检索一列,因此每行只有一个值),使用filter
.
解决方案:
如果是这种情况,您可以替换它:
sourceValues = sourceValues.slice(1).map(row => row.slice(10,10+1));
有了这个:
sourceValues = sourceValues.slice(1).map(row => row.slice(10,10+1))
.filter(row => String(row[0]));
参考:
推荐阅读
- python - 列表的动态数量在 django 分页中显示错误?
- swift - 如何在自定义集合视图中自定义第一个和第三个单元格
- javascript - 计算日期之间的差异并从该差异开始计数
- jython - Jython:在执行请求时获取 SSLError
- swift - 将循环阻塞代码重写为 SwiftNIO 风格的非阻塞代码
- c# - 使用单个时间步的位置数据来 Lerp 变换位置?
- ios - Objective-C 项目中的 Swift CocoaPods 库
- javascript - 有没有办法缩短 API 端点 URL,然后针对它发出请求?
- javascript - 如何在firebas云功能中使用localStorage
- sql - 存储过程中 select 和 sp_executesql 之间的安全权限差异