javascript - 使用 Google 脚本 ReDash 到 Google 表格 - 如何在末尾添加日期?
问题描述
我正在尝试使用以下 Google 脚本从 Redash 添加数据,然后在末尾添加当前日期。我在哪里可以添加一个var now = new Date();
来输入最后一行的日期?
期望的结果如下。AC 是我已经从 Redash 成功提取的数据,但我想添加当前日期。如果有帮助,日期将始终为 F。
https://www.dropbox.com/s/lfu9jk06j0fduo8/Screenshot%202020-05-20%2018.44.26.png?dl=0
谢谢您的帮助!
//FUNCTION FOR GETTING DATA FROM REDASH QUERIES
function getapidata(response, sheetname) {
var array1 = response.getContentText(); //Store data from redash into this variable
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetname);
var iLen = array1.length;
var i = 0;
var stringvalue1 = "";
var s1 = "";
var num1 = 1;
var num2 = 1;
var noheader = 1;
for (i = 0; i < iLen; i++) {
var j = i;
do {
s1 = array1[j];
if (s1 == ",") {
if (noheader == 1)
noheader = 1;
else
sheet.getRange(sheet.getLastRow() + num1, num2).setValue(stringvalue1);
num1 = 0;
num2++;
stringvalue1 = "";
} else
stringvalue1 = stringvalue1 + s1;
j++;
} while (s1 != "\n")
if (noheader == 1)
noheader = 1;
else
sheet.getRange(sheet.getLastRow() + num1, num2).setValue(stringvalue1);
noheader = 2;
num1 = 1;
num2 = 1;
stringvalue1 = "";
i = j - 1;
}
}
function getfromRedash() {
//Current SHR (Max Preps)
var redashapi = "API"; //Storing Redash API Value.
var sheetname = "SHEETTITLE"; //Assign your sheetname(where you would want data to be imported) to this variable
var response = UrlFetchApp.fetch(redashapi, {
muteHttpExceptions: true
}); //Storing Redash Cached Query result in this variable.
Logger.log(response.getContentText()); //If any error, error to be logged
getapidata(response, sheetname); //Call function for writing data in google sheets
//The 5 lines of code above can be repeated for multiple sheets in a single google spreadsheet file. For. Eg. If you have 5 different sheets in a single google worksheet, you can just copy paste the above lines of code, and just change the variable “redashapi” so as to make calls to the appropriate redash queries.
}
//THIS FUNCTION IS TO MAKE A NEW MENU IN GOOGLE SHEETS
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('MENU')
.addItem('Get Data from Redash', 'getfromRedash')
.addToUi();
}
解决方案
好吧,你的行号寻址有点混乱,因为 sheet.getLastRow() 每次你在最后一行之后添加值时都会改变,但你可以写类似
sheet.getRange(sheet.getLastRow() + num1, 6).setValue(new Date());
插入日期。您可以参考其他答案,例如
用于日期格式。
推荐阅读
- database - 如何将极光无服务器数据库连接到 HeidiSql?
- hibernate - 在应用程序关闭时删除没有后备域类的表
- microsoft-cognitive - 使用 Microsoft Translator 进行错误的自动语言检测
- android - 任务中的 Flutter 构建错误:app:copyFlutterAssetsDebug
- laravel - Laravel/Lumen 迁移表 SQLSTATE [42000] 的表名不正确
- python - 拆分刻度标签或环绕刻度标签
- ios - iOS 通知声音在应用程序中播放,虽然这不是我发起的(仅限 iOS 12)
- android - 如何从 PreferenceFragmentCompat 内部访问自定义 Preference 类
- angular - Ionic4 使用 ngFor 获取对象内部的数据
- c# - 在 LinQ/Lambda 表达式中生成多列数据透视表(如 Excel)