Google apps script google脚本中单元格为空时隐藏列
我有一个谷歌电子表格,第二行有值。 我希望隐藏每个不包含值(=“”)的列。 . 我尝试的脚本已附加到文档中。 我也写在这里:Google apps script google脚本中单元格为空时隐藏列,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个谷歌电子表格,第二行有值。 我希望隐藏每个不包含值(=“”)的列。 . 我尝试的脚本已附加到文档中。 我也写在这里: function hideEmptyCourses() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[2]; var range = sheet.getRange(2, 1, 1,sheet.getLastColumn()); //start number Row
function hideEmptyCourses() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[2];
var range = sheet.getRange(2, 1, 1,sheet.getLastColumn()); //start number Row, start number Column, amount of rows , amount of columns
//get the values to those Columns
var values = range.getValues();
Logger.log(values);
//go through every Column
for (var i=0; i==values.length; i++){
//if column value is equal to empty
if(values[0][i] === ""){
//hide that column
sheet.hideColumn(i+1);
}
}
}
任何帮助都是非常恰当的。这可能是件愚蠢的事情,但我似乎无法让它工作。
提前谢谢 我认为,如果要遍历每一列,for循环应该是这样的
for (var i=0; i < values[0].length; i++){
for(变量i=0;i
你也只检查一行吗?下面的代码使用了一种略微不同的方法。你能看到它是否有效吗
function hideEmptyColumns() {
var ss = SpreadsheetApp.getActive(),
sheet = ss.getSheets()[0],
fullRange = sheet.getRange(2, 1, sheet.getLastRow(), sheet.getMaxColumns());
var data = fullRange.getValues(),
numCol = fullRange.getNumColumns();
for (var i = 0; i < numCol; i++) {
var col = data.map(function (v) {
return v[i];
})
.filter(function (d) {
return d !== '';
});
if (col.length == 0) sheet.hideColumns(i + 1);
}
}
函数hideEmptyColumns(){
var ss=SpreadsheetApp.getActive(),
sheet=ss.getSheets()[0],
fullRange=sheet.getRange(2,1,sheet.getLastRow(),sheet.getMaxColumns());
var data=fullRange.getValues(),
numCol=fullRange.getNumColumns();
对于(变量i=0;i
至于您自己的代码(只检查第2行),您可能可以让它这样工作:
function hideEmptyColumns2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange(2, 1, 1, sheet.getMaxColumns());
//get the values to those columns
var values = range.getValues();
//go through every column
for (var i = 0; i < values[0].length; i++) {
Logger.log(values[0][i])
//if column value is equal to empty
if (values[0][i] == "") {
//hide that column
sheet.hideColumns(i + 1);
}
}
}
函数hideEmptyColumns2(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
var range=sheet.getRange(2,1,1,sheet.getMaxColumns());
//获取这些列的值
var values=range.getValues();
//浏览每一列
对于(var i=0;i<值[0]。长度;i++){
Logger.log(值[0][i])
//如果列值等于空
如果(值[0][i]==“”){
//隐藏该列
表1.隐藏柱(i+1);
}
}
}