You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Google Sheet数据数组中获取当日对应最后一行并发送到Telegram

修复后的可用代码
const token = "替换为你自己的Telegram机器人Token";

function timer() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  // 替换为你自己的工作表名称
  let ws = ss.getSheetByName("SheetName");
  let data = ws.getRange(2, 1, ws.getLastRow()-1, 10).getValues();
  // 生成今日日期字符串,格式和表格里的一致:日.月.年
  let todayStr = new Date().getDate() + "." + (new Date().getMonth() + 1) + "." + new Date().getFullYear();
  // 替换为你自己的Telegram聊天ID
  let clientIdChat = "替换为你自己的聊天ID";
  // 倒序遍历数组,从最后一行(最新新增的行)往第一行找
  for (i = data.length - 1; i >= 0; i--) {
    let row = data[i];
    // 跳过A列空的行
    if (!row[0]) continue;
    // 把当前行的日期转成和今日相同格式的字符串
    let rowDateStr = row[0].getDate() + "." + (row[0].getMonth() + 1) + "." + row[0].getFullYear();
    // 判断是否是今日的行
    if (rowDateStr === todayStr) {
      // 格式化当前行的内容为可读消息,不需要的字段可以删掉
      let msg = `
📅 日期:${rowDateStr}
🏢 公司:${row[1]}
🆔 ІПН:${row[2]}
👤 姓名:${row[3]}
📑 案件号:${row[4]}
⚖️ 法院:${row[5]}
📍 地区:${row[6]}
🏙️ 城市:${row[7]}
🏠 地址:${row[8]}
🔗 文档链接:${row[9]}
      `
      // 发送当前行的消息
      sendText(clientIdChat, msg.trim());
      // 如果要发送所有今日的新增行,就把下面这行break删掉,只留最新的就保留
      break;
    }
  }
}
 
function sendText(chatId, text, keyBoard) {
  let data = {
    method: 'post',
    payload: {
      method: 'sendMessage',
      chat_id: String(chatId),
      text: text,
      parse_mode: 'HTML',
      reply_markup: JSON.stringify(keyBoard)
    }
  }
  UrlFetchApp.fetch('https://api.telegram.org/bot' + token + '/', data);
}
关键修改说明
  • 把原来的正序遍历改成倒序遍历,优先匹配最新添加的行,确保拿到的是最后新增的当日数据
  • 修复了发送内容的错误,原来的代码发的是整个表格的所有数据,现在只发匹配到的当日行内容
  • 增加了消息格式化逻辑,发送的内容可读性更高,不需要的字段可以直接删除msg里对应的行
  • 你只需要修改代码开头三个位置的内容:机器人Token、工作表名称、Telegram聊天ID,就可以直接使用
  • 如果需要发送当天所有的新增行,删除代码里break;那一行即可

内容的提问来源于stack exchange,提问作者Brown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 05:42:03