我有一个存储一些数据的大型Google SpreadSheet文档,我需要使用Google SpreadSheet REST API从中检索特定行。
假设我们有以下测试数据:
If ( ( Test-Path $jedit) ) {
Function Start-JEdit() {
Start-Process -FilePath javaw -ArgumentList ( '-jar',"$jEdit", '-settings="$($mydriveroot + "jEdit\settings")"' ) -RedirectStandardOutput "$JEditLogs\console.out" -RedirectStandardError "$JEditLogs\console.err"
}
New-Alias -Name jedit -Force Start-JEdit -Description "Start JEdit programmers text editor"
}
我需要检索具有最新日期的行,例如:
ID | Name | Date
-----------------
1 | Erik | 07.06.2017
2 | Anna | 07.06.2017
3 | Kirk | 07.06.2017
4 | Erik | 06.06.2017
5 | Anna | 06.06.2017
6 | Kirk | 06.06.2017
....
我怎样才能做到这一点?
修改
从official doc我发现我可以通过以下请求检索范围:
1 | Erik | 07.06.2017
2 | Anna | 07.06.2017
3 | Kirk | 07.06.2017
但这不适合我,因为我需要按最大日期过滤:(
答案 0 :(得分:1)
您可以使用跟踪工作表中每个更改的事件对象来跟踪上次修改过的'复制'它就像我在这个短视频中所做的那样固定在片材中。
您必须将其粘贴到Tools -> Script Editor
function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet();
var rng = e.range;
var ix = rng.getRow();
var X = s.getRange( ix, 1, 1, 3 );
s.getRange( 3, 5, 1, 3 ).copyTo( s.getRange( 4, 5 ) ); // SECOND LAST TO BUTTOM
s.getRange( 2, 5, 1, 3 ).copyTo( s.getRange( 3, 5 ) ); // SECOND LAST TO BUTTOM
X.copyTo( s.getRange( 2, 5 ) ); // LAST ON TOP!
}
..然后您可以通过REST提取数据,如:
获取https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!E2:G4
希望有所帮助:)