批处理请求删除空行和列
我需要创建一个脚本,该脚本从指示的工作表中删除所有空行和列(在行/列的任何单元格中没有值),同时从1列/行开始 - 使用批处理更新。我找到了一个脚本在这里适合我的需要。
我已经像下面的那样修改了它,但是我在函数参数(可能还有其他事情)上做错了什么。
function clear(){
const sheetName = "Parser"; // Please set the sheet name.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sh = ss.getSheetByName(sheetName);
const sheetId = sh.getSheetValues;
var values = sh.getRange('B1:B').getValues();
var requests = values.reduce((ar, value) => {
var maxColumns = sh.getMaxColumns();
var lastColumn = sh.getLastColumn();
var maxRows = sh.getMaxRows();
var lastRow = sh.getLastRow();
if (lastRow == 0 && lastColumn == 0 && maxRows > 1 && maxColumns > 1) {
ar.push({deleteDimension: {range: {sheetId: sheetId, dimension: "ROWS", startIndex: 1}}});
ar.push({deleteDimension: {range: {sheetId: sheetId, dimension: "COLUMNS", startIndex: 1}}});
}
Logger.log(ar);
return ar;
}, []);
if (requests.length > 0) {
Sheets.Spreadsheets.batchUpdate({requests: requests}, id);
}
};
乞求帮助!
I need to create a script which deletes all empty rows and columns (with no value in any cell of the row/column) from indicated sheet starting from 1 column/row, at the same time - using batch update. I have found a script here and tried to suit it to my need.
I have modified it like below, but I do something wrong with function arguments (and probably something else).
function clear(){
const sheetName = "Parser"; // Please set the sheet name.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sh = ss.getSheetByName(sheetName);
const sheetId = sh.getSheetValues;
var values = sh.getRange('B1:B').getValues();
var requests = values.reduce((ar, value) => {
var maxColumns = sh.getMaxColumns();
var lastColumn = sh.getLastColumn();
var maxRows = sh.getMaxRows();
var lastRow = sh.getLastRow();
if (lastRow == 0 && lastColumn == 0 && maxRows > 1 && maxColumns > 1) {
ar.push({deleteDimension: {range: {sheetId: sheetId, dimension: "ROWS", startIndex: 1}}});
ar.push({deleteDimension: {range: {sheetId: sheetId, dimension: "COLUMNS", startIndex: 1}}});
}
Logger.log(ar);
return ar;
}, []);
if (requests.length > 0) {
Sheets.Spreadsheets.batchUpdate({requests: requests}, id);
}
};
Begging for help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试:
这将滤除所有空行,旋转数组,过滤出所有空的“列”,然后旋转阵列并更新纸板。
让我知道这是否对您有用!
clean()结果:
Try:
This will filter out all empty rows, rotate the array, filter out all empty 'columns', then rotate the array back and update the sheet.
Let me know if this works for you!
Clean() Result: