Operacje arkusza

Interfejs Sheets API umożliwia tworzenie, czyszczenie, kopiowanie i usuwanie arkuszy oraz kontrolowanie ich właściwości. Przykłady na tej stronie pokazują, jak wykonywać typowe operacje w Arkuszach za pomocą interfejsu Sheets API.

Przykłady te są przedstawione w formie żądań HTTP, aby były neutralne językowo. Aby dowiedzieć się, jak za pomocą bibliotek klienta interfejsu API Google wdrożyć zbiorcze aktualizowanie w różnych językach, przeczytaj artykuł Aktualizowanie arkuszy kalkulacyjnych.

W tych przykładach obiekty zastępcze SPREADSHEET_IDSHEET_ID wskazują, gdzie należy podać te identyfikatory. Identyfikator arkusza kalkulacyjnego znajdziesz w adresie URL arkusza. Identyfikator arkusza możesz uzyskać, korzystając z metody spreadsheets.get. Zakresy są określane za pomocą notacji A1. Przykładowy zakres to Arkusz1!A1:D5.

Dodawanie arkusza

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

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

Protokół żądania przedstawiono 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
          }
        }
      }
    }
  ]
}

Czyszczenie arkusza ze wszystkich wartości przy zachowaniu formatów

Ten przykładowy kod spreadsheets.batchUpdate pokazuje, jak za pomocą funkcji UpdateCellsRequest usunąć wszystkie wartości z arkusza, pozostawiając formatowanie bez zmian.

Podanie pola userEnteredValue bez odpowiedniej wartości jest interpretowane jako instrukcja wyczyszczenia wartości w zakresie. Tego ustawienia możesz też używać w innych polach. Na przykład zmiana wartości fields na userEnteredFormat powoduje usunięcie z arkusza wszystkich formatów obsługiwanych przez interfejs Sheets API, ale nie zmienia wartości komórek.

Protokół żądania przedstawiono 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 drugiego

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

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

Odpowiedź zawiera obiekt SheetProperties opisujący 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ć metody DeleteSheetRequest, aby usunąć arkusz określony przez parametr SHEET_ID.

Protokół żądania przedstawiono poniżej.

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

Odczytywanie danych z arkusza

Poniższy przykładowy kod spreadsheets.get pokazuje, jak uzyskać informacje o właściwości arkusz z arkusza kalkulacyjnego, określonego przez SHEET_ID i SPREADSHEET_ID. Ta metoda jest często używana do określania metadanych arkuszy w określonym arkuszu kalkulacyjnym, aby można było wykonywać dodatkowe operacje na tych arkuszach. Parametr zapytania fields określa, że zwracane mają być tylko dane właściwości arkusza (a nie dane wartości komórki ani dane dotyczące całego arkusza kalkulacyjnego).

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

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

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