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

如何通过Google Script实现Matomo API数据追加至表格末行

解决Matomo API数据追加到Google Sheets的问题

需求:从Matomo分析工具的API按时间段提取数据,每次提取不同日期的数据时,需追加到表格最后一行,而非覆盖原有内容。当前代码会直接覆盖数据,需修改实现追加功能。

原代码:

function Entrada() {        
  var csvUrl = "https://matomo.jccm.es/index.php?date=2022-07-01,today&filter_limit=-1&format=CSV&format_metrics=1&idSite=152&language=es&method=Actions.getEntryPageUrls&module=API&period=day&flat=1&token_auth=xxxx&translateColumnNames=1&convertToUnicode=0";
  var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
  var csvData = Utilities.parseCsv(csvContent);
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Páginas');
  sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}

修改后的代码(实现追加功能)

function Entrada() {        
  var csvUrl = "https://matomo.jccm.es/index.php?date=2022-07-01,today&filter_limit=-1&format=CSV&format_metrics=1&idSite=152&language=es&method=Actions.getEntryPageUrls&module=API&period=day&flat=1&token_auth=xxxx&translateColumnNames=1&convertToUnicode=0";
  var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
  var csvData = Utilities.parseCsv(csvContent);
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Páginas');
  
  // 获取表格最后一行,确定追加起始位置
  var lastRow = sheet.getLastRow();
  
  if (lastRow === 0) {
    // 表格为空,写入全部数据(含表头)
    sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
  } else {
    // 表格已有数据,跳过表头,只追加数据行
    var dataToAdd = csvData.slice(1); // 从第2行开始截取数据
    if (dataToAdd.length > 0) {
      sheet.getRange(lastRow + 1, 1, dataToAdd.length, dataToAdd[0].length).setValues(dataToAdd);
    }
  }
}

关键改动说明

  • 定位追加起始行:通过sheet.getLastRow()获取当前表格已有数据的最后一行,后续数据从lastRow + 1行开始写入
  • 区分首次写入与追加场景:若表格为空(lastRow === 0),直接写入完整CSV数据(包含表头);若已有数据,则跳过CSV的表头行,仅追加实际数据
  • 截取有效数据:用csvData.slice(1)跳过CSV的第一行表头,只保留需要追加的业务数据
  • 动态匹配写入范围:根据要追加的数据行数和列数,动态获取对应单元格范围,彻底避免覆盖原有内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 01:15:40