Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script google脚本中单元格为空时隐藏列_Google Apps Script_Google Sheets - Fatal编程技术网

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);
}
}
}