use of com.google.api.services.sheets.v4.model.Sheet 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);
}
use of com.google.api.services.sheets.v4.model.Sheet in project teiid by teiid.
the class SpreadsheetMetadataExtractor method extractMetadata.
public SpreadsheetInfo extractMetadata(String spreadsheetId) {
try {
Spreadsheet spreadsheet = sheetsAPI.getSpreadsheet(spreadsheetId);
SpreadsheetInfo metadata = new SpreadsheetInfo(spreadsheet.getProperties().getTitle());
metadata.setSpreadsheetKey(spreadsheet.getSpreadsheetId());
for (Sheet sheet : spreadsheet.getSheets()) {
String title = sheet.getProperties().getTitle();
Worksheet worksheet = metadata.createWorksheet(title);
worksheet.setId(sheet.getProperties().getSheetId().toString());
List<Column> cols = dataProtocolAPI.getMetadata(spreadsheet.getSpreadsheetId(), title);
if (!cols.isEmpty()) {
if (cols.get(0).getLabel() != null) {
worksheet.setHeaderEnabled(true);
}
}
for (Column c : cols) {
worksheet.addColumn(c.getLabel() != null ? c.getLabel() : c.getAlphaName(), c);
}
}
return metadata;
} catch (IOException ex) {
throw new SpreadsheetOperationException(SpreadsheetManagedConnectionFactory.UTIL.gs("metadata_error"), // $NON-NLS-1$
ex);
}
}
Aggregations