首页 > 解决方案 > 自定义菜单的 gsheets 上的 getRange 数组过滤

问题描述

我正在尝试创建一个自定义侧边菜单,用作电子表格上数据的过滤器和编辑工具。我有 html 和 css 下来,但我遇到了从 getRangevalues 过滤过滤数组数据的障碍。

  {
const {google, containeranalysis_v1alpha1} = 
 require('googleapis');
 const keys = require('./key.json');

 const client = new google.auth.JWT(
keys.client_email,
null,
keys.private_key,
  ['https://www.googleapis.com/auth/spreadsheets']
 );

异步函数 gsrun(cl){

const gsapi = google.sheets({version:'v4', auth: cl});

const opt = {
    spreadsheetId: 'XXXXXXXX',
    range: 'Data!A1:G'
};

let data = await gsapi.spreadsheets.values.get(opt);
let dataArray = data.data.values;
let newArray = dataArray.filter(function(checkDate){
    return checkDate === '09/16'; });

console.log(newArray);
 };

我只是想获得一个功能过滤器,然后我的下一个目标是通过 html datePicker 菜单应用过滤器参数

在此处输入图像描述

*编辑| 这是我在 node.j 中使用 api 编写的脚本。没有appscript,但本质上是一样的

应用过滤器后,我仍然无法让数组正常工作。我没有收到任何错误,但我也没有收到任何返回值。

日期 患者姓名 PO 索赔提交 镜框镜片状态 09/15 xxxx xxxx PP 是 否 镜片已订购 09/15 xxxx xxxx 是 镜片已订购 09/13 xxxx xxxx PP 否 镜框和镜片已订购 09/16 xxxx xxxx 是 镜框和镜头订购 09/16 xxxx xxxx 是 镜框和镜头订购 09/16 xxxx xxxx 是 是 否 镜头订购 09/16 xxxx xxxx 不适用 无 镜框和镜头订购 09/21 xxxx xxxx 是 否 否 镜框和镜头已订购订购 09/12 xxxx xxxx PP 是 否 镜头已订购

这是单子。我正在尝试按日期过滤它,然后返回所有符合条件的整行

标签: javascriptgoogle-sheetsscript

解决方案


您没有正确处理二维数组。

const dateColIndex = 0;
let newArray = dataArray.filter(function(row){
    return row[dateColIndex].getTime() === new Date('2021/09/16').getTime(); });

推荐阅读