Operacje na danych

Interfejs API Arkuszy Google pozwala edytować dane w arkuszach kalkulacyjnych w różnych kilka sposobów. Większość funkcji dostępnych dla użytkowników W interfejsie Arkuszy można też Interfejs Arkuszy API. Przykłady na tej stronie pokazują, jak można za pomocą interfejsu API Arkuszy.

Przykłady te są przedstawione w formie żądań HTTP, które stanowią język. i nie mam zdania. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsów API Google, przeczytaj artykuł Aktualizacja arkusze kalkulacyjne.

W tych przykładach zmienne SPREADSHEET_ID i SHEET_ID wskazuje, gdzie należy je podać. Arkusz kalkulacyjny można znaleźć ID w adresie URL arkusza kalkulacyjnego. Możesz uzyskać identyfikator arkusza za pomocą funkcji spreadsheets.get. zakresy określa się w notacji A1. An przykładowy zakres to Arkusz1!A1:D5.

Zastosuj sprawdzanie poprawności danych do zakresu

Poniżej spreadsheets.batchUpdate przykładowy kod pokazuje, jak korzystać z SetDataValidationRequest aby zastosować regułę sprawdzania poprawności danych, gdzie „wartość > 5”, do każdej komórki w zakresie A1:D10.

Protokół żądania jest widoczny poniżej.

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
        }
      }
    }
  ]
}

Kopiuj & wklej formatowanie komórki

Poniżej spreadsheets.batchUpdate przykładowy kod pokazuje, jak korzystać z CopyPasteRequest aby skopiować formatowanie tylko z zakresu A1:D10 i wkleić je w zakresie F1:I10 w tym samym arkuszu. Metoda ta korzysta z Wyliczenie PasteType (PASTE_FORMAT), aby wkleić tylko formatowanie i sprawdzanie poprawności danych. nie uległy zmianie w przypadku komórek A1:D10.

Protokół żądania jest widoczny poniżej.

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"
      }
    }
  ]
}

Wytnij i wklej komórki

Poniżej spreadsheets.batchUpdate przykładowy kod pokazuje, jak korzystać z CutPasteRequest Skraca zakres A1:D10 i wykorzystuje Wyliczenie PasteType za pomocą PASTE_NORMAL, aby wkleić jej wartości, formuły, formatowanie i scalone zakres F1:I10 w tym samym arkuszu. Pierwotna zawartość komórki zakresu źródłowego to usunięto.

Protokół żądania jest widoczny poniżej.

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"
      }
    }
  ]
}

Powtarzanie formuły w zakresie

Poniżej spreadsheets.batchUpdate przykładowy kod pokazuje, jak korzystać z RepeatCellRequest aby skopiować formułę =FLOOR(A1*PI()) do zakresu B1:D10. Zakres formuły automatycznie zwiększa wartość dla każdego wiersza i kolumny w zakresie, zaczynając od lewa górna komórka. Na przykład komórka B1 zawiera formułę =FLOOR(A1*PI()), a komórka D6 zawiera formułę =FLOOR(C6*PI()).

Protokół żądania jest widoczny poniżej.

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"
      }
    }
  ]
}

Sortowanie zakresu z użyciem wielu specyfikacji sortowania

Poniżej spreadsheets.batchUpdate przykładowy kod pokazuje, jak korzystać z SortRangeRequest aby posortować zakres A1:D10, najpierw według kolumny B w kolejności rosnącej, a następnie według kolumny C w kolejności malejącej, a następnie według kolumny D w kolejności malejącej.

Protokół żądania jest widoczny poniżej.

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"
          }
        ]
      }
    }
  ]
}