【发布时间】:2014-11-12 06:46:44
【问题描述】:
在 Google 电子表格中,我有一个应用程序脚本,它从 Mysql 数据库(结果)中获取数据并将其插入到特定工作表上的 lastRow()+1 中。我想运行数据验证以确保结果中的第一项不等于 A 列中最后一个单元格的内容。
除了数据验证(它抓取数据并将其放在我想要的位置,它只是不进行数据检查)之外,脚本中的所有内容都有效。任何帮助/指导将不胜感激 - 谢谢!
可能相关:我希望 results[0] 返回格式为“YYYY-MM-DD”的日期,以匹配 lastRow() 单元格值中的内容。
这是我的代码:
function cleverlynamedfunction() {
// make the connection
var connection = Jdbc.getConnection("jdbc:mysql://[host]/[database]", "[user]", "[password]");
// perform the query
var SQLstatement = connection.createStatement();
var result = SQLstatement.executeQuery("[some query]");
// choose a range in sheet
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("data_dash");
var cell = ss.getRange("A".concat(ss.getLastRow()+1));
// validate the data doesn't already exist in the spreadsheet DOES NOT WORK YET
var test = ss.getRange("A".concat(ss.getLastRow()));
if (test.getValue() == result[0]) {
return;
}
// loop through result object, setting cell values to database data
var row = 0;
while(result.next()) {
for(var i=0; i<43; i++) { // 43 fields per record
cell.offset(row, i).setValue(result.getString(i+1));
}
row++;
}
// tidy up
result.close();
SQLstatement.close();
connection.close();
}
【问题讨论】:
标签: mysql google-apps-script google-sheets google-spreadsheet-api