Example #1
0
        /// <summary>
        /// Sends a batch request to google.
        /// </summary>
        /// <param name="request">The batchrequest to send</param>
        /// <param name="spreadsheetId">The id of the sheet doc to send the request for</param>
        /// <returns></returns>
        private static bool ExecuteBatchRequest(BatchUpdateSpreadsheetRequest request, string spreadsheetId)
        {
            SpreadsheetsResource.BatchUpdateRequest finalRequest = service.Spreadsheets.BatchUpdate(request, spreadsheetId);
            BatchUpdateSpreadsheetResponse          response     = finalRequest.Execute();

            return(true);
        }
Example #2
0
        // Adjust the pixelSize rows height.
        internal static SpreadsheetsResource.BatchUpdateRequest GetAdjustRowsHeightDimensionRequest(SheetsService sheetsService, string spreadsheetId, int?sheetId, int topRowIndex, int rowsToAdjustHeightCount, int rowHeightPixelsCount)
        {
            // If provided sheetId is null, throw appropriate exception.
            if (sheetId is null)
            {
                throw new ArgumentNullException(nameof(sheetId));
            }

            // Create appropriate partial request of type UpdateDimensionPropertiesRequest, where rows are considered as the dimension to adjust size.
            UpdateDimensionPropertiesRequest updateDimensionPropertiesRequest = GoogleServicesExtensionsRequestsFactory.GetAdjustRowsHeightDimensionPartialRequest(spreadsheetId, sheetId, topRowIndex, rowsToAdjustHeightCount, rowHeightPixelsCount);

            // Construct new batch update request body..
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();

            // .. initialize new list of partial requests ..
            batchUpdateSpreadsheetRequest.Requests = new List <Request>();
            // .. and add appropriate partial request.
            batchUpdateSpreadsheetRequest.Requests.Add(new Request {
                UpdateDimensionProperties = updateDimensionPropertiesRequest
            });

            // Set ResponseIncludeGridData flag to false to increase performance.
            batchUpdateSpreadsheetRequest.ResponseIncludeGridData = false;

            // Construct and return appropriate batch update request based on the provided request body and spreadsheet id.
            return(sheetsService.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, spreadsheetId));
        }
Example #3
0
        public async Task DeleteIncidentsAsync(IList <BehaviourIncident> incidents)
        {
            if (incidents.Count == 0)
            {
                return;
            }
            var rowsToDelete = incidents.Select(o => o.SpreadsheetRow.Value).OrderByDescending(o => o);
            var sheetId      = await GetExpectationsSheetId();

            var requestBody = new BatchUpdateSpreadsheetRequest {
                Requests = rowsToDelete.Select(o => new Request {
                    DeleteDimension = new DeleteDimensionRequest {
                        Range = new DimensionRange {
                            SheetId    = sheetId,
                            Dimension  = DIMENSION_ROWS,
                            StartIndex = o - 1, // Zero-based index
                            EndIndex   = o      // Exclusive
                        }
                    }
                }).ToList()
            };

            var request = Resource.BatchUpdate(requestBody, SpreadsheetId);

            await Execute(request);
        }
Example #4
0
        internal static void DeleteRow(SheetsService service, string spreadsheetId, int row)
        {
            Request RequestBody = new Request()
            {
                DeleteDimension = new DeleteDimensionRequest()
                {
                    Range = new DimensionRange()
                    {
                        SheetId    = 593128798,
                        Dimension  = "ROWS",
                        StartIndex = row - 1,
                        EndIndex   = row
                    }
                }
            };

            List <Request> RequestContainer = new List <Request>();

            RequestContainer.Add(RequestBody);

            BatchUpdateSpreadsheetRequest DeleteRequest = new BatchUpdateSpreadsheetRequest();

            DeleteRequest.Requests = RequestContainer;

            SpreadsheetsResource.BatchUpdateRequest Deletion = new SpreadsheetsResource.BatchUpdateRequest(service, DeleteRequest, spreadsheetId);
            Deletion.Execute();
        }
Example #5
0
        // Add
        internal static SpreadsheetsResource.BatchUpdateRequest GetAddSheetRequest(SheetsService sheetsService, string spreadsheetId, string sheetTitleId, int columnCount, int rowCount)
        {
            // Create new add sheet partial request
            AddSheetRequest addSheetRequest = new AddSheetRequest();

            // Create and assign instance of SheetProperties class into the addSheetRequest.
            addSheetRequest.Properties = new SheetProperties();

            // Set sheet title id.
            addSheetRequest.Properties.Title = sheetTitleId;

            // Create new sheet grid properties, and set number of columns and rows according the provided columnCount and row count property.
            addSheetRequest.Properties.GridProperties             = new GridProperties();
            addSheetRequest.Properties.GridProperties.ColumnCount = columnCount;
            addSheetRequest.Properties.GridProperties.RowCount    = rowCount;

            // Create new instance of BatchUpdateSpreadsheetRequest, data of the to be returned instance of SpreadsheetsResource.BatchUpdateRequest ..
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequestData = new BatchUpdateSpreadsheetRequest();

            // .. initialize new list of partial requests ..
            batchUpdateSpreadsheetRequestData.Requests = new List <Request>();
            // .. and add sheet partial request to it.
            batchUpdateSpreadsheetRequestData.Requests.Add(new Request {
                AddSheet = addSheetRequest
            });

            // Set ResponseIncludeGridData flag to false to increase performance.
            batchUpdateSpreadsheetRequestData.ResponseIncludeGridData = false;

            // Construct and return SpreadsheetsResource.BatchUpdateRequest.
            return(sheetsService.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequestData, spreadsheetId));
        }
        private void Delete(int startIndex, int endIndex)
        {
            Request RequestBody = new Request()
            {
                DeleteDimension = new DeleteDimensionRequest()
                {
                    Range = new DimensionRange()
                    {
                        SheetId    = 0,
                        Dimension  = "ROWS",
                        StartIndex = Convert.ToInt32(startIndex),
                        EndIndex   = Convert.ToInt32(endIndex)
                    }
                }
            };

            List <Request> RequestContainer = new List <Request>();

            RequestContainer.Add(RequestBody);

            BatchUpdateSpreadsheetRequest DeleteRequest = new BatchUpdateSpreadsheetRequest();

            DeleteRequest.Requests = RequestContainer;

            SpreadsheetsResource.BatchUpdateRequest Deletion = new SpreadsheetsResource.BatchUpdateRequest(_sheetsService, DeleteRequest, _spreadsheetId);
            Deletion.Execute();
        }
        public void Update(BranchInfo[] branches)
        {
            var sheetId = (int)DateTimeOffset.UtcNow.ToUnixTimeSeconds();

            var batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest
            {
                Requests = new List <Request>
                {
                    new Request {
                        AddSheet = GetAddSheetRequest(sheetId, branches.Length)
                    },
                    new Request {
                        UpdateCells = GetUpdateCellsRequest(sheetId, branches)
                    },
                }
            };

            GetUpdateDimensionPropertiesRequest(sheetId)
            .ForEach(r => batchUpdateSpreadsheetRequest.Requests.Add(new Request {
                UpdateDimensionProperties = r
            }));

            var credential = LoadCredentials();

            using (var service = new SheetsService(GetInitializer(credential)))
            {
                var batchUpdateRequest = service.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, spreadSheetId);
                batchUpdateRequest.Execute();
            }
        }
        public void DeleteColumn(string ClientId, string ClientSecret, string spreadSheetID, int sheetID, int colIndex)
        {
            var sheetsService = GoogleAPI.GetSheetsService(ClientId, ClientSecret);

            var request = new Request
            {
                DeleteDimension = new DeleteDimensionRequest
                {
                    Range = new DimensionRange
                    {
                        SheetId    = sheetID,
                        Dimension  = "COLUMNS",
                        StartIndex = colIndex,
                        EndIndex   = colIndex + 1
                    }
                }
            };

            var deleteColRequest = new BatchUpdateSpreadsheetRequest {
                Requests = new List <Request> {
                    request
                }
            };

            sheetsService.Spreadsheets.BatchUpdate(deleteColRequest, spreadSheetID).Execute();
        }
Example #9
0
        public static void CreateSheet(string sheetName)
        {
            var addSheetRequest = new AddSheetRequest();

            addSheetRequest.Properties       = new SheetProperties();
            addSheetRequest.Properties.Title = sheetName;

            var updateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest()
            {
                Requests = new List <Request>()
            };

            updateSpreadsheetRequest.Requests.Add(
                new Request
            {
                AddSheet = addSheetRequest,
            });

            _service.Spreadsheets.BatchUpdate(updateSpreadsheetRequest, _spreadsheetId).Execute();

            var valueRange = new ValueRange()
            {
                Values = new List <IList <object> >()
                {
                    new List <object>()
                    {
                        "Сервер", "База данных", "Размер в ГБ", "Дата обновления"
                    }
                }
            };
            var updateRequest = _service.Spreadsheets.Values.Update(valueRange, _spreadsheetId, $"{sheetName}!A1:4");

            updateRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.RAW;
            updateRequest.Execute();
        }
Example #10
0
        public void RenameSpreadsheet(string ClientId, string ClientSecret, string spreadSheetID, string newName, out bool Success)
        {
            try
            {
                var sheetsService = GoogleAPI.GetSheetsService(ClientId, ClientSecret);

                var request = new Request
                {
                    UpdateSpreadsheetProperties = new UpdateSpreadsheetPropertiesRequest
                    {
                        Properties = new SpreadsheetProperties()
                        {
                            Title = newName
                        },
                        Fields = "Title"
                    }
                };

                var RenameSheetRequest = new BatchUpdateSpreadsheetRequest {
                    Requests = new List <Request> {
                        request
                    }
                };

                sheetsService.Spreadsheets.BatchUpdate(RenameSheetRequest, spreadSheetID).Execute();

                Success = true;
            }
            catch
            {
                Success = false;
            }
        }
Example #11
0
        private async Task CommitSignupRow(Sheet sheetToUpdate, RowData rowToUpdate, int rowIndex)
        {
            var sheetUpdates = new BatchUpdateSpreadsheetRequest();

            sheetUpdates.Requests = new List <Request>()
            {
                new Request()
                {
                    UpdateCells = new UpdateCellsRequest()
                    {
                        Start = new GridCoordinate()
                        {
                            SheetId = sheetToUpdate.Properties.SheetId, RowIndex = rowIndex, ColumnIndex = 0
                        },
                        Fields = "*",
                        Rows   = new List <RowData>()
                        {
                            rowToUpdate
                        }
                    }
                }
            };

            var updateRequest = new SpreadsheetsResource.BatchUpdateRequest(this.SheetsService, sheetUpdates, HeroicSheetsId);

            await updateRequest.ExecuteAsync();
        }
Example #12
0
        public void DeleteAllRowsAndColumns(string sheetName)
        {
            BatchUpdateSpreadsheetRequest requestBody = new BatchUpdateSpreadsheetRequest();

            DeleteDimensionRequest deleteRowsRequest = new DeleteDimensionRequest
            {
                Range = new DimensionRange {
                    Dimension = "ROWS", StartIndex = 0, EndIndex = 500000
                }
            };

            DeleteDimensionRequest deleteColumnsRequest = new DeleteDimensionRequest
            {
                Range = new DimensionRange {
                    Dimension = "COLUMNS", StartIndex = 0, EndIndex = 500000
                }
            };

            requestBody.Requests = new List <Request>
            {
                new Request {
                    DeleteDimension = deleteRowsRequest
                },
                new Request {
                    DeleteDimension = deleteColumnsRequest
                }
            };

            SpreadsheetsResource.BatchUpdateRequest batchRequest =
                Service.Spreadsheets.BatchUpdate(requestBody, SheetId);

            var response = batchRequest.Execute();
        }
Example #13
0
        /// <summary>
        /// adds blank tab specified by SheetName to spreadsheet
        /// </summary>
        /// <param name="SpreadSheetID"></param>
        /// <param name="SheetName"></param>
        public static void AddTabToSpreadSheet(string SpreadSheetID, string SheetName)
        {
            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = GetCredential(),
                ApplicationName       = ApplicationName,
            });

            // Add new Sheet
            var addSheetRequest = new AddSheetRequest();

            addSheetRequest.Properties       = new SheetProperties();
            addSheetRequest.Properties.Title = SheetName;
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();

            batchUpdateSpreadsheetRequest.Requests = new List <Request>();
            batchUpdateSpreadsheetRequest.Requests.Add(new Request
            {
                AddSheet = addSheetRequest
            });

            var batchUpdateRequest =
                service.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, SpreadSheetID);

            batchUpdateRequest.Execute();
        }
Example #14
0
        public BatchUpdateSpreadsheetResponse CreateSheet(string sheetName)
        {
            String spreadsheetId = "13CwpWvOWW1B-lyB_kzzvcCeQPukM5AgGoZ32l7bl5e4";

            var addSheetRequest = new AddSheetRequest();

            addSheetRequest.Properties       = new SheetProperties();
            addSheetRequest.Properties.Title = sheetName;
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();

            batchUpdateSpreadsheetRequest.Requests = new List <Request>();
            batchUpdateSpreadsheetRequest.Requests.Add(new Request
            {
                AddSheet = addSheetRequest
            });

            var batchUpdateRequest =
                Service.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, spreadsheetId);

            try
            {
                var res = batchUpdateRequest.Execute();
                return(res);
            }
            catch { }
            return(null);
        }
        /// <summary>
        /// Создание новой таблицы
        /// </summary>
        /// <param name="service"></param>
        /// <param name="sheetName"></param>
        /// <param name="SpreadsheetId"></param>
        public static void CreateNewSheet(SheetsService service, string sheetName, string SpreadsheetId)
        {
            var addShettRequest = new Request
            {
                //Добавляет новый лист.
                AddSheet = new AddSheetRequest
                {
                    // Свойства листа.
                    Properties = new SheetProperties
                    {
                        Title = sheetName
                    }
                }
            };

            List <Request> requests = new List <Request> {
                addShettRequest
            };

            //обновление любого аспекта электронной таблицы
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheet = new BatchUpdateSpreadsheetRequest();

            //Список обновлений, которые необходимо применить к электронной таблице.
            batchUpdateSpreadsheet.Requests = requests;

            //Применяет одно или несколько обновлений к электронной таблице. Каждый запрос проверяется заранее применяется.
            //Если какой-либо запрос не является действительным, то весь запрос не будет выполнен.
            service.Spreadsheets.BatchUpdate(batchUpdateSpreadsheet, SpreadsheetId).Execute();
        }
Example #16
0
        private void ClearAllValuesFromSheet(string spreadsheetId, int sheetId)
        {
            Request RequestBody = new Request()
            {
                UpdateCells = new UpdateCellsRequest()
                {
                    Range = new GridRange()
                    {
                        SheetId = sheetId
                    },
                    Fields = "*"
                }
            };

            var RequestContainer = new List <Request>();

            RequestContainer.Add(RequestBody);

            var clearRequest = new BatchUpdateSpreadsheetRequest();

            clearRequest.Requests = RequestContainer;

            var batchUpdateRequest = new SpreadsheetsResource.BatchUpdateRequest(_sheetsService, clearRequest, spreadsheetId);

            batchUpdateRequest.Execute();
        }
Example #17
0
        public bool CreateNewSheet(string sheetName)
        {
            var addSheetRequest = new Request
            {
                AddSheet = new AddSheetRequest
                {
                    Properties = new SheetProperties
                    {
                        Title = sheetName
                    }
                }
            };
            var requests = new List <Request> {
                addSheetRequest
            };

            var batchUpdate = new BatchUpdateSpreadsheetRequest();

            batchUpdate.Requests = requests;

            BatchUpdateSpreadsheetResponse response;

            try { response = Service.Spreadsheets.BatchUpdate(batchUpdate, spreadsheetId).Execute(); }
            catch (Exception e)
            {
                Console.WriteLine("CreateNewSheet method exception:\n" + e.Message);
                response = null;
            }

            return(response != null);
        }
Example #18
0
        public void AddNewRow(string spreadsheetId)
        {
            Request RequestBody = new Request()
            {
                InsertDimension = new InsertDimensionRequest()
                {
                    Range = new DimensionRange()
                    {
                        SheetId    = 0,
                        Dimension  = "ROWS",
                        StartIndex = 0,
                        EndIndex   = 10
                    }
                }
            };

            List <Request> RequestContainer = new List <Request>();

            RequestContainer.Add(RequestBody);

            BatchUpdateSpreadsheetRequest insertRequest = new BatchUpdateSpreadsheetRequest();

            insertRequest.Requests = RequestContainer;

            var insert = new SpreadsheetsResource.BatchUpdateRequest(_sheetsService, insertRequest, spreadsheetId);

            insert.Execute();
        }
Example #19
0
        public void DeletRow()
        {
            List <Request> request = new List <Request>();

            request.Add(
                new Request
            {
                DeleteDimension = new DeleteDimensionRequest
                {
                    Range = new DimensionRange
                    {
                        SheetId    = sheet,
                        Dimension  = "ROWS",
                        StartIndex = int.Parse(listBox_spis.SelectedIndex.ToString()) + 2,
                        EndIndex   = int.Parse(listBox_spis.SelectedIndex.ToString()) + 3
                    }
                }
            }
                );

            BatchUpdateSpreadsheetRequest busr = new BatchUpdateSpreadsheetRequest {
                Requests = request
            };

            service.Spreadsheets.BatchUpdate(busr, SpredsheetsID).Execute();
            MessageBox.Show("Выбранный ученик удален!");
        }
        public async Task FormatUpdate(string spreadsheetId, RangePosition range, CellFormat userEnteredFormat)
        {
            //get sheet id by sheet name
            int sheetId = await getSheetID(spreadsheetId, range.TableName);

            //define cell color
            BatchUpdateSpreadsheetRequest bussr = new BatchUpdateSpreadsheetRequest();

            //create the update request for cells from the first row
            Request updateCellsRequest = new Request()
            {
                RepeatCell = new RepeatCellRequest()
                {
                    Range = range.GetGridRange(sheetId),
                    Cell  = new CellData()
                    {
                        UserEnteredFormat = userEnteredFormat
                    },
                    Fields = "UserEnteredFormat(BackgroundColor,TextFormat)"
                }
            };

            bussr.Requests = new List <Request>();
            bussr.Requests.Add(updateCellsRequest);

            SpreadsheetsResource.BatchUpdateRequest bur = _service.Spreadsheets.BatchUpdate(bussr, spreadsheetId);

            await autoAuthorize(bur);
        }
Example #21
0
        private static void Clean(SheetsService service, int count)
        {
            List <Request> request = new List <Request>();

            request.Add(
                new Request
            {
                DeleteDimension = new DeleteDimensionRequest
                {
                    Range = new DimensionRange
                    {
                        SheetId    = Zayav,
                        Dimension  = "ROWS",
                        StartIndex = 13,
                        EndIndex   = 13 + count
                    }
                }
            }
                );

            BatchUpdateSpreadsheetRequest busr = new BatchUpdateSpreadsheetRequest {
                Requests = request
            };

            service.Spreadsheets.BatchUpdate(busr, SpredsheetsID1).Execute();
        }
        public async Task <BatchUpdateSpreadsheetResponse> RenameSheet(string spreadsheetId, int sheetId, string oldName, string newName)
        {
            var req = new BatchUpdateSpreadsheetRequest
            {
                Requests = new List <Request>
                {
                    new Request
                    {
                        UpdateSheetProperties = new UpdateSheetPropertiesRequest
                        {
                            Properties = new SheetProperties
                            {
                                SheetId = sheetId,
                                Title   = newName
                            }
                        }
                    }
                }
            };

            SpreadsheetsResource.BatchUpdateRequest request = new SpreadsheetsResource.BatchUpdateRequest(_sheetsService, req, spreadsheetId);
            var response = await request.ExecuteAsync();

            return(response);
        }
Example #23
0
        private BatchUpdateSpreadsheetRequest GetBatchUpdate()
        {
            var batch = new BatchUpdateSpreadsheetRequest
            {
                Requests = new List <Request>
                {
                    new Request {
                        DeleteSheet = new DeleteSheetRequest {
                            SheetId = 0
                        }
                    },
                    new Request
                    {
                        UpdateCells = new UpdateCellsRequest
                        {
                            Fields = "*",
                            Start  = new GridCoordinate {
                                SheetId = _sheetId
                            },
                            Rows = GetRows()
                        },
                    }
                }
            };

            batch.Requests.AddRange(GetMerges());
            batch.Requests.AddRange(GetColumnWidths());
            return(batch);
        }
Example #24
0
        public string UpdateTab(string guildname)
        {
            GoogleConnection();

            log.Info("Google Sheets connection successful.");

            // Add new Sheet
            string sheetName = string.Format("{0}/{1}/{2} {3}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, guildname);

            _sheetname = sheetName;
            var addSheetRequest = new AddSheetRequest();

            addSheetRequest.Properties       = new SheetProperties();
            addSheetRequest.Properties.Title = sheetName;
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();

            batchUpdateSpreadsheetRequest.Requests = new List <Request>();
            batchUpdateSpreadsheetRequest.Requests.Add(new Request
            {
                AddSheet = addSheetRequest
            });

            var batchUpdateRequest = _sheetsService.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, _spreadsheetId);

            BatchUpdateSpreadsheetResponse response = batchUpdateRequest.Execute();

            return(JsonConvert.SerializeObject(response));
        }
Example #25
0
        // Inserts rows into the existing spreadsheet.
        internal static SpreadsheetsResource.BatchUpdateRequest GetInsertRowsRequest(SheetsService sheetsService, string spreadsheetId, int?sheetId, int toBeInsertedTopRowIndex, int toBeInsertedRowCount)
        {
            // Build insert dimensions partial request...
            InsertDimensionRequest request = new InsertDimensionRequest();

            request.Range            = new DimensionRange();
            request.Range.SheetId    = sheetId ?? throw new ArgumentNullException(nameof(sheetId));
            request.Range.Dimension  = "ROWS";
            request.Range.StartIndex = toBeInsertedTopRowIndex;
            request.Range.EndIndex   = toBeInsertedTopRowIndex + toBeInsertedRowCount;
            if (toBeInsertedTopRowIndex > 0)
            {
                request.InheritFromBefore = true;
            }

            // Construct new batch update request body..
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();

            // .. initialize new list of partial requests ..
            batchUpdateSpreadsheetRequest.Requests = new List <Request>();
            // .. and add appropriate partial request.
            batchUpdateSpreadsheetRequest.Requests.Add(new Request {
                InsertDimension = request
            });

            // Set ResponseIncludeGridData flag to false to increase performance.
            batchUpdateSpreadsheetRequest.ResponseIncludeGridData = false;

            // Construct and return appropriate batch update request based on the provided request body and spreadsheet id.
            return(sheetsService.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, spreadsheetId));
        }
Example #26
0
        public override void Export(IEnumerable <Flat> flats)
        {
            var service = CreateService();
            var latestSheetProperties = GetLatestSheetProperties(service);
            var newSheetInfo          = GetNewSheetInfo();
            var duplicateSheetRequest = GetDuplicateRequest(newSheetInfo, latestSheetProperties);
            var updateCellsRequests   = GetUpdateRequests(newSheetInfo, latestSheetProperties, flats);

            var batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest
            {
                Requests = new List <Request>()
            };

            batchUpdateSpreadsheetRequest.Requests.Add(new Request {
                DuplicateSheet = duplicateSheetRequest
            });
            foreach (var request in updateCellsRequests)
            {
                batchUpdateSpreadsheetRequest.Requests.Add(new Request {
                    UpdateCells = request
                });
            }
            var batchUpdateRequest = service.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, SpreadsheetId);

            batchUpdateRequest.Execute();
        }
        static void DeleteRowByIndexInSheet(string spreadsheetId, string tabName, int rowIndex)
        {
            if (rowIndex < 0)
            {
                return;
            }

            int?    sheetId     = GetTabId(spreadsheetId, tabName);
            Request RequestBody = new Request()
            {
                DeleteDimension = new DeleteDimensionRequest()
                {
                    Range = new DimensionRange()
                    {
                        SheetId    = sheetId,
                        Dimension  = "ROWS",
                        StartIndex = Convert.ToInt32(rowIndex),
                        EndIndex   = Convert.ToInt32(rowIndex + 1)
                    }
                }
            };

            List <Request> RequestContainer = new List <Request>();

            RequestContainer.Add(RequestBody);

            BatchUpdateSpreadsheetRequest deleteRequest = new BatchUpdateSpreadsheetRequest();

            deleteRequest.Requests = RequestContainer;

            SpreadsheetsResource.BatchUpdateRequest batchUpdate = service.Spreadsheets.BatchUpdate(deleteRequest, spreadsheetId);
            batchUpdate.Execute();
        }
Example #28
0
        /// <summary>
        /// 創建一張工作表
        /// </summary>
        private void CreateV4Sheets()
        {
            SheetsService sheetsService = new SheetsService(new BaseClientService.Initializer
            {
                HttpClientInitializer = GetCredential(),
                ApplicationName       = "Get Google SheetData with Google Sheets API",
            });

            // Add new Sheet
            var addSheetRequest = new AddSheetRequest();

            addSheetRequest.Properties       = new SheetProperties();
            addSheetRequest.Properties.Title = sheetName;
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();

            batchUpdateSpreadsheetRequest.Requests = new List <Request>();
            batchUpdateSpreadsheetRequest.Requests.Add(new Request
            {
                AddSheet = addSheetRequest
            });

            var batchUpdateRequest = sheetsService.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, spreadsheetId);

            batchUpdateRequest.Execute();
        }
        public async Task <BatchUpdateSpreadsheetResponse> DeleteRowsAsync(int tabId, int startRow, int endRow = -1)
        {
            if (endRow < 0)
            {
                endRow = startRow + 1;
            }

            Request request = new Request
            {
                DeleteDimension = new DeleteDimensionRequest
                {
                    Range = new DimensionRange
                    {
                        Dimension  = "ROWS",
                        SheetId    = tabId,
                        StartIndex = startRow,
                        EndIndex   = endRow
                    }
                }
            };
            BatchUpdateSpreadsheetRequest batchRequest = new BatchUpdateSpreadsheetRequest
            {
                Requests = new List <Request>()
            };

            batchRequest.Requests.Add(request);
            return(await _service.Spreadsheets.BatchUpdate(batchRequest, SheetId()).ExecuteAsync());
        }
Example #30
0
        /// <summary>
        /// Applies the data and format of a list of rows to a range.
        /// </summary>
        /// <param name="spreadsheetId">The id of the sheets doc</param>
        /// <param name="tabName">The name of the tab to write to</param>
        /// <param name="startCell">The top-left cell in the range to be written to</param>
        /// <param name="endCell">The bottom-right cell in the range to be written to</param>
        /// <param name="rows">The list of rows to be written</param>
        /// <returns></returns>
        public static bool updateCells(string spreadsheetId, string tabName, string startCell, string endCell, List <RowData> rows)
        {
            if (m_shouldRun == false)
            {
                return(false);
            }

            Point startPoint = convertCellToPoint(startCell);
            Point endPoint   = convertCellToPoint(endCell);

            GridRange range = new GridRange();

            range.SheetId          = getTabIndex(spreadsheetId, tabName);
            range.StartColumnIndex = startPoint.X;
            range.StartRowIndex    = startPoint.Y;
            range.EndColumnIndex   = endPoint.X + 1;
            range.EndRowIndex      = endPoint.Y + 1;

            Request updateCells = requestUpdateCells(spreadsheetId, tabName, rows, range, "*");
            Request autoSize    = requestDimensionAutoSize(spreadsheetId, tabName, 0);

            BatchUpdateSpreadsheetRequest batchRequest = new BatchUpdateSpreadsheetRequest();

            batchRequest.Requests = new List <Request>();
            batchRequest.Requests.Add(autoSize);
            batchRequest.Requests.Add(updateCells);

            return(ExecuteBatchRequest(batchRequest, spreadsheetId));
        }