0

Google Sheets API v4, Values.get gibt "undefined" zurück, wenn die Zelle leer ist. Und Values.get gibt {majorDimension=ROWS, range=Sheet1!J7:L7} ohne "Werte" -Teil zurück, wenn die Zellen leer sind.

Gibt es eine Möglichkeit, die folgende Ausgabe zu erhalten, wenn die Zellen leer sind?

Values.get[[]] statt undefined

Values.batchGet zurückzukehren {majorDimension=ROWS, values=[[]], range=Sheet1!J7:L7} statt {majorDimension=ROWS, range=Sheet1!J7:L7}

zurückzukehren Hier ist der Code: SieGoogle Sheets API v4 values.get und values.batchGet gibt undefined oder Rückgabewert für leere Zellen zurück

function getOneCellValue() { 
    var response = Sheets.Spreadsheets.Values.get("SpreadsheetId", "Sheet1!L20"); 
    Logger.log(response.values); 
} 

function getValueRanges() { 
    var response = Sheets.Spreadsheets.Values.batchGet("SpreadsheetId", {ranges: ["Sheet1!D7:F7", "Sheet1!J7:L7"]}); 
    Logger.log(response.valueRanges); 
} 

danken.

Antwort

0

Die Sheets API Values.get() & Values.batchGet()ValueRange: values[] verwirft zusätzliche Zeilen/Spalten, wenn sie leer sind:

Die Daten, die geschrieben werden, gelesen wurde oder zu. Dies ist ein Array von Arrays, wobei das äußere Array alle Daten darstellt und jedes innere Array eine Hauptdimension darstellt. Jedes Element in dem inneren Array entspricht einer Zelle.

Für die Ausgabe werden leere nachgestellte Zeilen und Spalten nicht berücksichtigt.

Wenn Sie den Wert (e) wollen als leere Zellen zurück zu kommen, benutzen Sie die built-in methodrange.getValues(). Oder ersetzen Sie undefined durch den Wert [[]].

function getOneCellValue() { 
    var response = Sheets.Spreadsheets.Values.get("SpreadsheetId", "Sheet1!L20"); 

    // Assign the empty array if undefined 
    var api_value = response.values || [[]]; 

    Logger.log(api_value); 


    // Or use getValues() 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var get_values = ss.getRange("Sheet1!L20").getValues(); 

    Logger.log(get_values); 
} 
Verwandte Themen