Operazioni sui dati

L'API Fogli Google ti consente di manipolare i dati all'interno dei fogli di lavoro in in molti modi diversi. La maggior parte delle funzionalità disponibili per gli utenti che utilizzano L'UI di Fogli può essere utilizzata anche API Fogli di lavoro. Gli esempi in questa pagina spiegano come ottenere alcune operazioni comuni per i fogli di lavoro con l'API Fogli.

Questi esempi sono presentati sotto forma di richieste HTTP per neutri. Per scoprire come implementare un aggiornamento batch in lingue diverse utilizzando le librerie client delle API di Google, consulta l'articolo Aggiornamento fogli di lavoro.

In questi esempi, i segnaposto SPREADSHEET_ID e SHEET_ID indica dove fornire questi ID. Puoi trovare il foglio di lavoro ID nell'URL del foglio di lavoro. Puoi ottenere l'ID foglio utilizzando la proprietà spreadsheets.get. La vengono specificati utilizzando la notazione A1. Un di esempio è Foglio1!A1:D5.

Applica la convalida dei dati a un intervallo

Le seguenti spreadsheets.batchUpdate l'esempio di codice mostra come utilizzare SetDataValidationRequest per applicare una regola di convalida dei dati, in cui "valore > 5", a ogni cella nell'intervallo A1:D10.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "setDataValidation": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "rule": {
          "condition": {
            "type": "NUMBER_GREATER",
            "values": [
              {
                "userEnteredValue": "5"
              }
            ]
          },
          "inputMessage": "Value must be > 5",
          "strict": true
        }
      }
    }
  ]
}

Copia e incolla la formattazione delle celle

Le seguenti spreadsheets.batchUpdate l'esempio di codice mostra come utilizzare CopyPasteRequest per copiare la formattazione solo nell'intervallo A1:D10 e incollarla nell'intervallo F1:I10 nello stesso foglio. Il metodo utilizza il parametro Enum PasteType con PASTE_FORMAT per incollare solo la formattazione e la convalida dei dati. La i valori originali di A1:D10 rimangono invariati.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "copyPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 5,
          "endColumnIndex": 9
        },
        "pasteType": "PASTE_FORMAT",
        "pasteOrientation": "NORMAL"
      }
    }
  ]
}

Taglia e incolla celle

Le seguenti spreadsheets.batchUpdate l'esempio di codice mostra come utilizzare CutPasteRequest. Taglia l'intervallo A1:D10 e utilizza il Enum PasteType con PASTE_NORMAL per incollare i relativi valori, formule, formattazione e unioni nella Intervallo F1:I10 nello stesso foglio. I contenuti della cella dell'intervallo di origine originale sono rimosso.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "cutPaste": {
        "source": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "destination": {
          "sheetId": SHEET_ID,
          "rowIndex": 0,
          "columnIndex": 5
        },
        "pasteType": "PASTE_NORMAL"
      }
    }
  ]
}

Ripeti una formula in un intervallo

Le seguenti spreadsheets.batchUpdate l'esempio di codice mostra come utilizzare RepeatCellRequest per copiare la formula =FLOOR(A1*PI()) nell'intervallo B1:D10. L'intervallo della formula aumenta automaticamente per ogni riga e colonna dell'intervallo, a partire dal cella in alto a sinistra. Ad esempio, la cella B1 ha la formula =FLOOR(A1*PI()), mentre cella D6 ha la formula =FLOOR(C6*PI()).

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 4
        },
        "cell": {
          "userEnteredValue": {
              "formulaValue": "=FLOOR(A1*PI())"
          }
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Ordinare un intervallo con più specifiche di ordinamento

Le seguenti spreadsheets.batchUpdate l'esempio di codice mostra come utilizzare SortRangeRequest per ordinare l'intervallo A1:D10, prima per la colonna B in ordine crescente e poi per la colonna C in ordine decrescente e poi per la colonna D in ordine decrescente.

Il protocollo di richiesta è mostrato di seguito.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "sortRange": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 4
        },
        "sortSpecs": [
          {
            "dimensionIndex": 1,
            "sortOrder": "ASCENDING"
          },
          {
            "dimensionIndex": 2,
            "sortOrder": "DESCENDING"
          },
          {
            "dimensionIndex": 3,
            "sortOrder": "DESCENDING"
          }
        ]
      }
    }
  ]
}