Formatieren Sie eine Google-Tabellen-Zelle in Klartext über Apps Script
Verwendung von Google Apps Script, ich möchte das format für eine Google-Tabellen-Zelle in nur-text.
Der Grund, warum ich dies tun wollen ist, weil ich zeigen möchte, ein Datum im US-Datumsformat (MM/DD/YYYY). [Wir können davon ausgehen, das Gebietsschema, in den OP ' s Google-Konto einrichten DD/MM/YYYY, eine gemeinsame Datumsformat. –Ed.]
Ich erstellen Sie die Zeichenfolge wie diese:
var thisDate = Utilities.formatDate (new Date (), SpreadsheetApp.getActiveSpreadsheet (). getSpreadsheetTimeZone (), "MM /d /yyyy");
... gibt das Datum im US-format, 06/13/2012, das ist, was ich will. Allerdings, wenn ich den Wert einer Zelle auf die Zeichenkette:
sheet.getRange (1, n). setValue (thisDate);
... das Datum formatiert ist, in der Zelle nach meiner Gebietsschema 13/06/2012, nicht das US-format.
Den folgenden Vorgang aus, auch nicht, weil das Datum zurückgegeben wird, in der standard-format, nicht im US-format:
sheet.getRange (1, n). getValue () == "06/13/2012"
Wenn die Zelle formatiert ist, als text, und nicht ein Datum, funktioniert alles einwandfrei.
So, meine Frage ist, wie man Sie formatieren eine Zelle mit JavaScript.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die andere Antwort, um das format zu 'plain text' in javascript, funktioniert nicht. Dies gilt jedoch:
Damit den magischen Wert für die Formatierung von text programmgesteuert ist " @STRING@'!
Ergänzung zu Christian gute Antwort :
Ich habe bemerkt, dass, wenn Ihr Ziel-Zelle, die bereits text-format (manuell) festlegen eines Werts mit
range.setValue()
das könnte nicht interpretiert werden als ein text (wie ein Datum, oder eine Zahl), ändert sich automatisch das Zahlenformat.
So die gute Lösung, wenn Sie wollen, auf jeden Fall zu halten, ein text-format ist
und nicht
Leider ist der text des plans passten nicht. Dokument, sobald die Zelle bekommt so etwas wie ein date, nur formatieren Sie die Zelle.
Einen Weg gefunden, nicht zu schaffen, Datum)
Tut mir Leid so spät zu Antworten. Alle Hände nicht erreichen.
Einen anderen Weg zu zwingen, der zu speichernde Wert als Klartext:
Voranzustellen Anführungszeichen:
'
. Dies hat keine Auswirkung auf den angezeigten Wert und auch durch das Lesen der Wertzurück die quatation mark ist nicht im Lieferumfang enthalten.
Habe ich es wie folgt und es funktioniert wie ich es erwartet habe. Meine B-Säule auf den richtigen null-gefüllt 3-stellige Zahl (z.B. 004) und mein C-Spalte zeigt den korrekten null gefüllt 10-stellige Nummer (z.B., 0060000001) als Texte. Ich habe die Datei umgewandelt, um Excel als Texte mit den Nullen. Ich denke, es würde den trick mit dem Datum als text als gut.
wins-Server.getRange("Sie UNS!B2:B").setNumberFormat("000").setNumberFormat("@");
wins-Server.getRange("Sie UNS!C2:C").setNumberFormat("0000000000").setNumberFormat("@");