Formato básico

La API de Hojas de cálculo de Google te permite actualizar el formato de las celdas y los rangos dentro de las hojas de cálculo. Los ejemplos de esta página ilustran cómo algunas las operaciones de formato se pueden lograr con la API de Hojas de cálculo. Puedes Encuentra más ejemplos de formato condicional en la sección Condicional de formato.

Cuando se actualiza una hoja de cálculo, algunos tipos de solicitudes pueden devolver respuestas. Estos se muestran en un array, y cada respuesta ocupa el mismo índice que la solicitud correspondiente. Algunas solicitudes no tienen respuestas, y para aquellas de respuesta está vacía. La estructura de respuesta para estos ejemplos se puede encontrar en spreadsheets.batchUpdate

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.

En el video anterior, aprenderás a dar formato a las celdas de una hoja de cálculo de varias maneras, lo que incluye crear filas inmovilizadas, poner celdas en negrita, implementar monedas aplicar formato, validar las celdas y restringir sus valores.

Editar bordes de la celda

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el UpdateBordersRequest para que cada celda del rango A1:F10 tenga un borde superior e inferior azul y punteado. El El campo innerHorizontal crea bordes horizontales en el interior del rango. Si se omite el campo, los bordes solo se agregarán a la parte superior y parte inferior de todo el rango.

Tabla de 3 por 3 en la que cada celda tiene un borde inferior y superior azul punteado.
Figura 1. En una hoja, agrega a cada celda el formato de borde inferior y superior azul punteado.

El protocolo de solicitud se muestra a continuación.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

Cómo dar formato a una fila de encabezado

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el RepeatCellRequest para dar formato a una fila de encabezado en una hoja. La primera solicitud actualiza el color del texto, el color de fondo, el tamaño de la fuente del texto y la justificación del texto, y hace que la texto en negrita. Si se omiten los índices de columna en el campo range, se produce fila a la que se va a formatear. La segunda solicitud ajusta las propiedades de la hoja para que la la fila de encabezado está inmovilizada.

Tabla de 3 por 3 con una fila de encabezado con formato en una hoja.
Figura 2. Da formato a la fila del encabezado en una hoja.

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": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": SHEET_ID,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

Combinar celdas

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el MergeCellsRequest para combinar celdas. La primera solicitud combina el rango A1:B2 en una sola celda. El La segunda solicitud combina las columnas en A3:B6 y deja las filas separadas.

Tabla de 3 por 3 con celdas combinadas en una hoja.
Figura 3. Combina celdas en una hoja.

El protocolo de solicitud se muestra a continuación.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

Cómo establecer un formato personalizado de fecha y hora o decimal para un rango

Lo siguiente spreadsheets.batchUpdate de muestra de código muestra cómo usar el RepeatCellRequest actualizar las celdas para que tengan formatos personalizados de fecha, hora y número. La primera solicitud Proporciona a las celdas del rango A1:A10 el formato de fecha y hora personalizado hh:mm:ss am/pm, ddd mmm dd yyyy. Un ejemplo de fecha y hora en este formato es: "02:05:07 PM, Sun Apr 03 2016".

La segunda solicitud asigna a las celdas de B1:B10 el formato de número personalizado. #,##0.0000, que indica que los números deben agruparse con coma separadores, que debe haber 4 dígitos después del decimal y que todos, excepto uno cero a la izquierda debería eliminarse. Por ejemplo, el número “3.14” se renderiza como "3.1400", mientras que "12345.12345" se procesa como “12,345.1235”.

Tabla de 3 por 3 con formatos personalizados de fecha y hora y número en una hoja.
Figura 4: Actualiza las celdas para que tengan formatos personalizados de fecha, hora y número en una hoja.

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": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}