我试图在电子表格(谷歌表格)API中逐列搜索值谷歌文档中有用于查找的API
我已经尝试过在电子表格中实现按值搜索的一些方法。
>
GoogleVisualizationAPI查询语言:这种方法返回匹配值的行。
回应的一些问题:
a) 不返回行号(无索引)
b) 搜索区分大小写
是否有可能得到行号的结果,这种方法?
设置列
=ROW(INDIRECT(ADDRESS(MATCH("search_string",B:B,0),1)))
有行号,例如:2
然后按范围获取行:https://sheets.googleapis.com/v4/spreadsheets/1Y65ZA5mhyImLL00yGR3lqwtbm6MgGLV0nV014fRXhts/values/A2: Z2
这不是一个正确的方法,我必须创建一个单元格公式,然后找到该单元格中的行值,并在搜索完成后清除销售。
*This approach returns only one row.
DeveloperMetadataLookup:我不知道如何使用它,我使用metadataKey:key1 metadataValue:value1在工作表上创建了元数据
通过电子表格进行搜索。价值观batchGetByDataFilter
using dataFilter:DeveloperMetadataLookup{"metadataKey":"key1","metadataValue":"value1"}
这将返回工作表中的所有行,我不知道如何使用此方法查找特定行。
谷歌应用程序文本搜索:我不知道这是否是免费使用的电子表格API。
基本过滤器:我读了这个,但不知道如何使用它进行搜索。
一些相同主题的老问题建议获取所有行并循环它们以逐行获取值。
示例:这将挂起我的服务器我不想实现这个循环。
function find(value, range) {
var data = range.getValues();
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
if (data[i][j] == value) {
return range.getCell(i + 1, j + 1);
}
}
}
return null;
}
结论:
>
有人能帮我找到一种在工作表中逐行搜索值的正确方法吗?
是否可以用(DeveloperMetadataLookup或Basic Filter)逐行搜索值如果是,请建议我正确的使用方法。
谷歌可视化API查询语言:可以获取行数吗?
这是一个示例表
Column-> A, B, C
Row1->B-15, planY, 50
Row2->B-18, planZ, 80
Row3->B-19, planC, 70
Row4->B-21, planZ, 90
我的需求搜索列:B=值:planZ |(B=planZ)
结果应与此类似:
Row:{
"2":["B-18","planZ","80"],
"4":["B-21","planZ","90"]
}
对这个线程函数进行了一些修改,以便在电子表格中搜索,我得到了行数和行值(该行的所有单元格)。
function doGet(e = {
"parameter": {
"value": "planc",
"spreadsheetId": "1Y65ZA5mhyImLL00yGR3lqwtbm6MgGLV0nV014fRXhts",
"column": "B",
"headerStatus": true
}
}) {
var findText = e.parameter.value;
var spreadsheetId = e.parameter.spreadsheetId;
var column = e.parameter.column;
var ss = SpreadsheetApp.openById(spreadsheetId);
var ranges = ss.createTextFinder(findText).findAll();
var headerStatus = e.parameter.headerStatus;
if (headerStatus == true || headerStatus == "true") {
var header = ss.getRange("A1:Z1").getValues()[0];
}
var res = ranges.map(r => ({
row: r.getRow(),
value: r.getSheet().getRange(`A${r.getRow()}:Z${r.getRow()}`).getValues()[0]
}));
var result = {};
var allColumn = {
"A": 0,
"B": 1,
"C": 2,
"D": 3,
"E": 4,
"F": 5,
"G": 6,
"H": 7,
"I": 8,
"J": 9,
"K": 10,
"L": 11,
"M": 12,
"N": 13,
"O": 14,
"P": 15,
"Q": 16,
"R": 17,
"S": 18,
"T": 19,
"U": 20,
"V": 21,
"W": 22,
"X": 23,
"Y": 24,
"Z": 25
};
var columnIndex = allColumn[column];
for (var key in res) {
var getRow = res[key]["row"];
var getValue = res[key]["value"];
if (getValue[columnIndex].toLowerCase() == findText.toLowerCase()) {
if (headerStatus == true || headerStatus == "true") {
var headerValueObj = {};
for (var i = 0; i < header.length; i++) {
if (header[i] !== "") {
var headerName = header[i];
headerValueObj[headerName] = getValue[i];
}
}
result[getRow] = headerValueObj;
} else {
result[getRow] = getValue;
}
}
}
return result;
}
输出结果
"result": {
"4": {
"Price": 20,
"heading4": "",
"Id": "B-16",
"Plan": "PlanC"
},
"7": {
"Price": 8,
"heading4": "",
"Id": "B-24",
"Plan": "PlanC"
}
}
正如标题所说,我想知道在Amazon DynamoDB中扫描表的最佳方式,通过主键以外的另一个字段进行搜索。 我对此进行了搜索,读了很多书,但我找到了这个解决方案: 这对我来说是可行的,但我也了解到,对性能和定价而言,在表上执行扫描是个坏主意。但是,怎么做呢? > DocumentClient和DynamoDB对象有什么区别? 我总是使用。get()用于在DynamoDB上获取所需内容。这是一种好
问题内容: 我最近从Angular转到了ReactJs。我正在使用jQuery进行API调用。我有一个API,该API返回要打印在列表中的随机用户列表。 我不确定如何编写我的API调用。最佳做法是什么? 我尝试了以下操作,但未得到任何输出。如果需要,我愿意实现替代API库。 下面是我的代码: 问题答案: 在这种情况下,您可以在中进行ajax调用,然后进行更新
问题内容: 我在一个应用程序中无法代表手机号码。 我想知道是否有一个Integer类,它将允许您存储从0417254482开始的数字。也许使用字符串更合适?目前,当我尝试使用整数形式表示电话号码时,我似乎存储的是随机数而不是我打算存储的数字。 问题答案: 使用。除了其他以外,如果使用整数,则将无法存储前导零。你绝对不应该使用(太小)或(数据丢失的风险太大-参见下文);或可能是适当的(除了前导零问题
问题内容: 在Python中,我想在代码中编写多行字典。有几种方法可以格式化它。我想到的是一些: mydict = { “key1”: 1, “key2”: 2, “key3”: 3, } mydict = { “key1”: 1, “key2”: 2, “key3”: 3, } mydict = { “key1”: 1, “key2”: 2, “key3”: 3, } 我知道以上任何一种在语法上
我已经通过谷歌官方文档《开发者指南》API中提到的一个简单Java代码成功地在我的Google Drive帐户的现有电子表格中创建了一个新的工作表,但我想通过Java代码在我的Google Drive帐户中创建一个新的电子表格。在链接中,他们没有提到这方面的任何示例代码。我已经在Spreadservice类中看到了不同的可用方法。 如何使用Google电子表格API实现这一点?
我可以从一个特定的查询中创建一个谷歌搜索结果列表,并将其导出到excel中吗?例如,我想用谷歌搜索佛罗里达州的牙齿矫正医生,并能将企业名称、电话号码和地址导出到excel电子表格中。我做了很多搜索,但找不到任何解决方案。我在找人给我指出正确的方向。非常感谢您的帮助,谢谢。