Operaciones con datos

La API de Google Sheets te permite manipular los datos de las hojas de cálculo en varios maneras. La mayor parte de la funcionalidad está disponible para los usuarios que trabajan con el La IU de Hojas de cálculo también permite realizar API de Hojas de cálculo. Los ejemplos de esta página ilustran cómo puedes lograr algunas operaciones comunes de hojas de cálculo con la API de Hojas de cálculo.

Estos ejemplos se presentan en forma de solicitudes HTTP como lenguaje neutrales. Para aprender a implementar una actualización por lotes en diferentes idiomas con las bibliotecas cliente de la API de Google, consulta Actualización hojas de cálculo.

En estos ejemplos, los marcadores de posición SPREADSHEET_ID y SHEET_ID se indica dónde se deben proporcionar esos ID. Puedes encontrar la hoja de cálculo ID en la URL de la hoja de cálculo. Puedes obtener el ID de la hoja mediante el spreadsheets.get. El los rangos se especifican con la notación A1. Los el rango de ejemplo es Hoja1!A1:D5.

Aplicar la validación de datos a un rango

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el SetDataValidationRequest para aplicar una regla de validación de datos, donde "valor > 5", a cada celda del rango A1:D10.

El protocolo de solicitud se muestra a continuación.

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

Copiar y pegar formato de celda

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el CopyPasteRequest para copiar el formato solo en el rango A1:D10 y pegarlo en el rango F1:I10 en la misma hoja. El método usa la Enumeración PasteType con PASTE_FORMAT para pegar solo el formato y la validación de datos. El los valores originales en A1:D10 no se modifican.

El protocolo de solicitud se muestra a continuación.

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

Cortar y pegar celdas

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el CutPasteRequest Corta el rango A1:D10 y usa el Enumeración PasteType con PASTE_NORMAL para pegar sus valores, fórmulas, formato y combinaciones en la F1:I10 en la misma hoja. El contenido original de las celdas del rango de origen es o quitarse.

El protocolo de solicitud se muestra a continuación.

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

Repetir una fórmula en un rango

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el RepeatCellRequest para copiar la fórmula =FLOOR(A1*PI()) al rango B1:D10. El rango de la fórmula aumenta automáticamente para cada fila y columna del rango, empezando por el celda superior izquierda. Por ejemplo, la celda B1 tiene la fórmula =FLOOR(A1*PI()), mientras que la celda D6 tiene la fórmula =FLOOR(C6*PI()).

El protocolo de solicitud se muestra a continuación.

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

Ordenar un rango con varias especificaciones de orden

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el SortRangeRequest para ordenar el rango A1:D10, primero por la columna B en orden ascendente y, luego, por la columna C en orden descendente, luego por la columna D en orden descendente.

El protocolo de solicitud se muestra a continuación.

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