use of com.google.api.services.sheets.v4.model.UpdateSheetPropertiesRequest in project collect by opendatakit.
the class SheetsHelper method resizeSpreadSheet.
/**
* Resize the column size of the provided sheetId in the google spreadsheet
*
* @param spreadsheetId unique id of the spreadsheet
* @param sheetId the index of the sheet which is to be resized
* @param columnSize the new column size of the sheet
* @throws IllegalArgumentException Providing sheetId or column size less than zero throws this exception
* Sheet Id is basically index of the sheet starting from zero
* Similarly, the value for the column size can't be negative
* @throws IOException Throws this exception if the google spreadsheet cannot be fetched
* due to insufficient permissions or invalid sheet id
*/
public void resizeSpreadSheet(String spreadsheetId, int sheetId, int columnSize) throws IllegalArgumentException, IOException {
if (sheetId < 0) {
throw new IllegalArgumentException("Sheet Id should be greater than or equal to 0");
}
if (columnSize < 1) {
throw new IllegalArgumentException("Column size should be greater than 0");
}
// create grid properties with the new column size
GridProperties gridProperties = new GridProperties().setColumnCount(columnSize);
// create sheet properties for the first sheet in the spreadsheet
SheetProperties sheetProperties = new SheetProperties().setSheetId(sheetId).setGridProperties(gridProperties);
// Updates properties of the sheet with the specified sheetId
UpdateSheetPropertiesRequest updateSheetPropertyRequest = new UpdateSheetPropertiesRequest().setProperties(sheetProperties).setFields("gridProperties.columnCount");
// generate request
List<Request> requests = new ArrayList<>();
requests.add(new Request().setUpdateSheetProperties(updateSheetPropertyRequest));
// send the API request
sheetsService.batchUpdate(spreadsheetId, requests);
}
Aggregations