谷歌脚本

时间:2017-03-07 00:56:01

标签: javascript google-apps-script google-sheets google-sites google-sheets-api

我希望能够解析一个数字的Google工作表列,并使用google脚本和HTML显示整行。

目前我可以非常轻松地显示整张纸。

Code.gs

function doGet() {
  return HtmlService
      .createTemplateFromFile('Index')
      .evaluate();
}

function getData() {
  return SpreadsheetApp
      .openById('0AvF9FEyqXFxAdEplRHp5dGc4Q1E3OXMyV2s4RktiQWc')
      .getDataRange()
      .getValues();
}

的index.html

<? var data = getData(); ?>
<table border='1px solid black'>
  <? for (var i = 0; i < data.length; i++) { ?>
    <tr>
      <? for (var j = 0; j < data[i].length; j++) { ?>
        <td><?= data[i][j] ?></td>
      <? } ?>
    </tr>
  <? } ?>
</table>

我试图导入工作表并构建一个数组,然后使用for循环获取我正在搜索的值,但没有成功。

function rowOf(containingValue, range) { 
  var outRow = null;

  if(range.constructor == Array)
  {
    for (var i = 0; i < range.length; i++)
    {
      if(range[i].constructor == Array && range[i].length > 0)
      {
        if (range[i][0] == containingValue)
        {
          outRow = i+1;
          break;
        }
      }
    }
  }

  return outRow;
}

如何根据列中的值获得单行输出?

1 个答案:

答案 0 :(得分:0)

试试这个:

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sh = SpreadsheetApp.setActiveSheet(ss.getSheets()[0])
  var col = 1 ; // choose the column you want to check: 0 = col A, 1= col B ...
  var range = sh.getDataRange();
  var values=range.getValues();// data is a 2D array, index0 = col A
  Logger.log(values)

  for (var i = 0; i < values.length; i++) {
    var row = "";
    for (var j = 0; j < values[i].length; j++) {     
      if (values[i][j] == "Jeremy") {
        row = values[i];
        Logger.log(row);
        Logger.log(i); // This is your row number
      }
    }    
  }
}

在我的电子表格中:

enter image description here

我的日志:

enter image description here

希望这有帮助。