private static Spreadsheet copySheet(final Sheets sheetsService, final Spreadsheet stonky, final File export, final InternalSheet sheet) throws IOException { final String name = sheet.getId(); LOGGER.debug("Requested to copy sheet '{}' to Stonky '{}' from imported '{}'.", name, stonky.getSpreadsheetId(), export.getId()); final Optional<Sheet> targetSheet = stonky.getSheets().stream() .filter(s -> Objects.equals(s.getProperties().getTitle(), name)) .findFirst(); final List<Request> requests = new ArrayList<>(0); targetSheet.ifPresent(s -> { final int sheetId = s.getProperties().getSheetId(); LOGGER.debug("Will delete existing '{}' sheet #{}.", name, sheetId); final DeleteSheetRequest delete = new DeleteSheetRequest().setSheetId(sheetId); requests.add(new Request().setDeleteSheet(delete)); }); LOGGER.debug("Copying sheet."); final SheetProperties newSheet = copySheet(sheetsService, stonky, export) .setIndex(sheet.getOrder()) .setTitle(name); final UpdateSheetPropertiesRequest update = new UpdateSheetPropertiesRequest() .setFields("title,index") .setProperties(newSheet); requests.add(new Request().setUpdateSheetProperties(update)); final BatchUpdateSpreadsheetRequest batch = new BatchUpdateSpreadsheetRequest() .setRequests(requests); LOGGER.debug("Renaming sheet and changing position."); sheetsService.spreadsheets().batchUpdate(stonky.getSpreadsheetId(), batch).execute(); LOGGER.debug("Stonky '{}' sheet processed.", name); return stonky; }
private static Spreadsheet copySheet(final Sheets sheetsService, final Spreadsheet stonky, final File export, final InternalSheet sheet) throws IOException { final String name = sheet.getId(); LOGGER.debug("Requested to copy sheet '{}' to Stonky '{}' from imported '{}'.", name, stonky.getSpreadsheetId(), export.getId()); final Optional<Sheet> targetSheet = stonky.getSheets().stream() .filter(s -> Objects.equals(s.getProperties().getTitle(), name)) .findFirst(); final List<Request> requests = new ArrayList<>(0); targetSheet.ifPresent(s -> { final int sheetId = s.getProperties().getSheetId(); LOGGER.debug("Will delete existing '{}' sheet #{}.", name, sheetId); final DeleteSheetRequest delete = new DeleteSheetRequest().setSheetId(sheetId); requests.add(new Request().setDeleteSheet(delete)); }); LOGGER.debug("Copying sheet."); final SheetProperties newSheet = copySheet(sheetsService, stonky, export) .setIndex(sheet.getOrder()) .setTitle(name); final UpdateSheetPropertiesRequest update = new UpdateSheetPropertiesRequest() .setFields("title,index") .setProperties(newSheet); requests.add(new Request().setUpdateSheetProperties(update)); final BatchUpdateSpreadsheetRequest batch = new BatchUpdateSpreadsheetRequest() .setRequests(requests); LOGGER.debug("Renaming sheet and changing position."); sheetsService.spreadsheets().batchUpdate(stonky.getSpreadsheetId(), batch).execute(); LOGGER.debug("Stonky '{}' sheet processed.", name); return stonky; }
spreadsheetsService.createGrid(spreadsheet.getSpreadsheetId(), TEST_RUN_RESULTS_SHEET_NAME); spreadsheet = spreadsheetsService.getSpreadsheetById(spreadsheet.getSpreadsheetId()); Sheet sheet = spreadsheet.getSheets().stream().filter(s -> s.getProperties().getTitle().equalsIgnoreCase(TEST_RUN_RESULTS_SHEET_NAME)).findFirst().orElse(new Sheet()); Request cellsStyleRequest = spreadsheetsService.setCellsStyle(sheet.getProperties().getSheetId(), 0, 1, 0, testRunResults.get(0).size(), true, 10, "Arial", true);