根据单元格中的第一个字符隐藏Google电子表格中的行数

时间:2013-04-25 08:19:53

标签: google-apps-script google-sheets

我正致力于为Google电子表格添加功能。电子表格从网上导入数据,我把它全部格式化了。我的一个列是一系列字符串,以两种方式之一格式化 - 字符串或*字符串*没有空格(基本上从网上导入斜体)。

我正在尝试提供一个在我打开电子表格时运行的脚本,该脚本将:

  • 取消隐藏电子表格中的所有行
  • 循环浏览电子表格
  • 隐藏第2列(B)以星号
  • 开头的每一行

我有以下内容:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DoDH");
  sheet.showRows(1, sheet.getMaxRows());
  for(var i=1; i<sheet.getMaxRows()+1; ++i){
    if (sheet.getRange(i, 2).getValue().){
      sheet.hideRow(i)
    }
  }
}

我不知道如何访问每个单元格中的字符串,以及如何访问字符串中的字符。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

这是更新的代码。查看评论以获得洞察力

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DoDH");
  var maxRows = sheet.getMaxRows();

  //show all the rows
  sheet.showRows(1, maxRows);

  //get data from clumn B
  var data = sheet.getRange('B:B').getValues();

  //iterate over all rows
  for(var i=0; i< data.length; i++){
    //compare first character, if asterisk, then hide row
    if(data[i][0].charAt(0) == '*'){
      sheet.hideRows(i+1);
    }
  }
}