google-apps-script apps spreadsheet - Abrufen von Zeilen aus Tabellenkalkulationsdaten mithilfe von Google App Script


1 Answers

Nun, Sie können eine Zelle verwenden und die Formel "Abfrage" verwenden. Nehmen wir an, das Datum ist in Spalte A, Benutzername = Spalte B, Kommentar ist Spalte C, während die leere Zelle D1 ist, Ihr Skript sieht so aus:

SpreadsheetApp.getActiveSheet().getRange("D1").setFormula('Query(A:C,"SELECT A,B,C WHERE B="' + "SomeOne'" + ',1)'; //filter the data and populate to D1 onwards    
SpreadsheetApp.getActiveSheet().getRange("D:F").getValues();//this is the filtered data
editor sheets examples

Ich verwende das Google App-Skript, um Formulardaten in eine Tabelle zu schreiben. Nun möchte ich die Werte aus Excel holen, die Bedingungen entsprechen (zB nach Datum, Benutzername filtern) und sie mit App-Skript anzeigen.

Meine Tabelle hat

+-------------+-----------+----------------------+
| Date        | Username  | Comment              |
+-------------+-----------+----------------------+
| 2012-05-02  | palani    | My first comment     |
| 2012-05-02  | raja      | My second comment    |
| 2012-05-03  | palani    | My third comment     |
| 2012-05-03  | raja      | My fourth comment    |
+-------------+-----------+----------------------+

Jetzt möchte ich die Daten für 2012-05-02 nach Datum filtern und nach Benutzernamen filtern und sie mit Labels in app-script (das als Webservice läuft) anzeigen.

Alle meine Suchanfragen geben die Lösung mit SpreadsheetApp.getActiveSheet().getDataRange(); was ich denke, ist nicht optimierte Weise, einen Datensatz von 1000 + Zeilen im Blatt anzuzeigen.

BEARBEITEN

Im Moment verwende ich nur .getValues() . Und die hier gezeigten Daten dienen als Beispiel; mein reales Blatt hat vorerst 15 Spalten und 5000+ Zeilen. Und schließlich wird es zu Millionen anwachsen, da dies eine Arbeitszeittabellenanwendung ist. Ich frage mich, gibt es eine andere Möglichkeit, um getValues() von gefilterten Zeilen zu erhalten?

Die Anwendung von =Filter auf eine Tmp-Zelle ist ebenfalls ein Problem, da das Skript gleichzeitig von der Anzahl der Personen verwendet werden kann.



Related