node.js - Google Sheets API nodejs - 获取包含字符串的单元格的索引
问题描述
首先,我究竟如何访问单元格的内容?我正在创建一个不和谐的机器人,它使用游戏的公共电子表格值显示游戏中不同单位的统计数据:https ://docs.google.com/spreadsheets/d/1WqogbXoOThLkt2kL3QJbFGT3Kc_x_XwwmK2FCJdrnvQ/edit#gid=1714057504
因此,用户将输入迷你(单位)的名称,我需要找到包含单位名称的单元格,然后获取其统计信息的值,这将在同一行上。
解决方案
@Raserhin 建议我发布我是如何解决我的问题的,所以就在这里。
我曾经spreadsheets.values.get()
获取工作表的数据。data.values
显然是一个二维数组,所以现在一切都很容易,所以我可以遵循@Query 的建议。我对 3 张纸中的每一张都重复了一遍(因为游戏中有 3 个单位派系)。我将所有 2D 数组放入 3D 数组中。然后当用户输入单位名称时,有一个外部for循环,每个派系迭代3次,然后嵌套在其中的另一个for循环对每个单位名称进行迭代,每次检查名称是否与用户输入匹配.
const {google} = require("googleapis");
const sheets = google.sheets({version: "v4", auth: APIKey});
async function gsrun(cl){
const opt = {
spreadsheetId: spreadsheetId,
range: 'Republic Minis'
};
let repData = await sheets.spreadsheets.values.get(opt);
let repDataArray = repData.data.values;
opt.range = 'Dominion Minis';
let domData = await sheets.spreadsheets.values.get(opt);
let domDataArray = domData.data.values;
opt.range = 'Empire Minis';
let empData = await sheets.spreadsheets.values.get(opt);
let empDataArray = empData.data.values;
var miniArray = [repDataArray, domDataArray, empDataArray];
...
推荐阅读
- android - 从协程范围返回值而不使用 runBlocking
- java - 从特定帖子的 Firebase 获取密钥
- c# - ASP.NET Core - 为 WebAPI 使用 Cookie 和 JWT
- c++ - 输出未正确递增 - C++
- video - 使用 `ffmpeg` 将专辑封面艺术添加到 FLAC 音频文件
- godot - 等轴测视图中的 8 方向基于网格的运动
- php - PHP 匹配特定的主机和文件扩展名,如果不匹配则替换
- javascript - 如何映射 React 组件但有 2 个不同的信息源
- javascript - 为什么我们不在javascript的setInterval函数中加括号呢?
- django - 如何使用 django-star-ratings 应用程序给对象多个评级(在不同方面)?