Operacje arkusza

Interfejs API Arkuszy Google pozwala tworzyć, czyścić, kopiować i usuwać arkusze, a także kontrolować ich właściwości. Przykłady na tej stronie pokazują, jak za pomocą interfejsu Arkuszys API można wykonywać niektóre typowe operacje w Arkuszach.

Przykłady te mają postać żądań HTTP, które nie wpływają na język. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu API Google, przeczytaj artykuł o aktualizowaniu arkuszy kalkulacyjnych.

W tych przykładach obiekty zastępcze SPREADSHEET_ID i SHEET_ID wskazują, gdzie należy podać te identyfikatory. Ten identyfikator arkusza kalkulacyjnego znajdziesz w adresie URL arkusza kalkulacyjnego. Identyfikator arkusza możesz uzyskać za pomocą metody spreadsheets.get. Zakresy określa się w notacji A1. Przykładowy zakres to Arkusz1!A1:D5.

Dodaj arkusz

Poniższy przykładowy kod spreadsheets.batchUpdate pokazuje, jak za pomocą kodu AddSheetRequest dodać arkusz do arkusza kalkulacyjnego, a także ustawić tytuł, rozmiar siatki i kolor karty.

Odpowiedź składa się z obiektu AddSheetResponse, który zawiera obiekt z właściwościami utworzonego arkusza (np. SHEET_ID).

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addSheet": {
        "properties": {
          "title": "Deposits",
          "gridProperties": {
            "rowCount": 20,
            "columnCount": 12
          },
          "tabColor": {
            "red": 1.0,
            "green": 0.3,
            "blue": 0.4
          }
        }
      }
    }
  ]
}

Wyczyść arkusz ze wszystkimi wartościami, zachowując formaty

Poniższy przykładowy kod spreadsheets.batchUpdate pokazuje, jak użyć UpdateCellsRequest do usunięcia wszystkich wartości z arkusza bez zmiany formatowania.

Wskazanie pola userEnteredValue bez odpowiadającej mu wartości jest interpretowane jako instrukcja czyszczenia wartości z zakresu. Tego ustawienia możesz też używać w przypadku innych pól. Na przykład zmiana wartości fields na userEnteredFormat powoduje usunięcie z arkusza całego formatowania obsługiwanego przez interfejs Arkuszy, ale wartości w komórkach pozostają niezmienione.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": SHEET_ID
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Kopiowanie arkusza z jednego arkusza kalkulacyjnego do innego

Poniższy przykładowy kod spreadsheet.sheets.copyTo pokazuje, jak skopiować pojedynczy arkusz określony przez SHEET_ID z jednego arkusza kalkulacyjnego do innego.

Zmienna TARGET_SPREADSHEET_ID w treści żądania określa docelowy arkusz kalkulacyjny. Kopia zachowuje wszystkie wartości, formatowanie, formuły i inne właściwości oryginału. Tytuł skopiowanego arkusza to „Kopia [tytuł oryginalnego arkusza]”.

Odpowiedź składa się z obiektu SheetProperties opisującego właściwości utworzonego arkusza.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
  "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}

Usuwanie arkusza

Poniższy przykładowy kod spreadsheets.batchUpdate pokazuje, jak użyć DeleteSheetRequest do usunięcia arkusza wskazanego przez SHEET_ID.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteSheet": {
        "sheetId": SHEET_ID
      }
    }
  ]
}

Odczytywanie danych arkusza

Poniższy przykładowy kod spreadsheets.get pokazuje, jak uzyskać informacje o właściwości sheet z arkusza kalkulacyjnego, które określa się za pomocą parametrów SHEET_ID i SPREADSHEET_ID. Ta metoda jest często używana do określania metadanych arkuszy w obrębie konkretnego arkusza kalkulacyjnego, aby można było kierować na nie dodatkowe operacje. Parametr zapytania fields określa, jakie powinny zostać zwrócone dane właściwości arkusza (a nie dane komórek lub dane związane z całym arkuszem kalkulacyjnym).

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

Odpowiedź składa się z zasobu Spreadsheet, który zawiera obiekt Sheet z elementami SheetProperties. Jeśli dane pole odpowiedzi ma wartość domyślną, jest ono pomijane.

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}