Android (Java/Kotlin) Google Sheets API: Set Frozen Row

April 7, 2019
val service = ...
val spreadsheetId = ...
val sheetId = 0

val gridProperties = GridProperties()
                .setFrozenRowCount(1)

val sheetProperties = SheetProperties()
    .setSheetId(sheetId)
    .setGridProperties(gridProperties)


val request = UpdateSheetPropertiesRequest().apply {
    properties = sheetProperties
    fields = "gridProperties.frozenRowCount"
}

val requests = listOf<Request>(
    Request().setUpdateSheetProperties(
        request
    )
)

val body = BatchUpdateSpreadsheetRequest().setRequests(requests)

service.spreadsheets().batchUpdate(spreadsheetId, body).execute()

or

val service = ...
val spreadsheetId = ...
val sheetId = 0

val requests = listOf<Request>(
    // froze 1st column
    Request().setUpdateSheetProperties(
        UpdateSheetPropertiesRequest().apply {
            properties = SheetProperties().apply {
                this.sheetId = sheetId
                gridProperties = GridProperties().apply {
                    frozenRowCount = 1
                }
            }
            fields = "gridProperties.frozenRowCount"
        }
    )
)

val body = BatchUpdateSpreadsheetRequest()
    .setRequests(requests)

service.spreadsheets().batchUpdate(spreadsheetId, body).execute()

NOTE: service is Sheets. Refer to Get Google Sheets service instance.

NOTE: Refer to Get Sheet Id.

References:

This work is licensed under a
Creative Commons Attribution-NonCommercial 4.0 International License.