我希望能够解析一个数字的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;
}
如何根据列中的值获得单行输出?
答案 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
}
}
}
}
在我的电子表格中:
我的日志:
希望这有帮助。