Example #1
0
        /// <summary>
        /// Вставка строки со значениями
        /// </summary>
        /// <param name="sheet_ID"></param>
        /// <param name="Row_after"></param>
        static async System.Threading.Tasks.Task InsertRowAsync(Dictionary <string, object> dic, int Row_after)
        {
            var            range      = $"{sheet}!B{Row_after}:K{Row_after}";
            var            valueRange = new ValueRange();
            IList <Object> obj        = new List <Object>();

            foreach (string item in dic.Keys)
            {
                obj.Add(dic[item]);
            }

            IList <IList <Object> > values = new List <IList <Object> >();

            values.Add(obj);
            SpreadsheetsResource.ValuesResource.AppendRequest request =
                service.Spreadsheets.Values.Append(new ValueRange()
            {
                Values = values
            }, SpreadsheetId, range);
            request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
            //var response =
            Debug.WriteLine("Entry RowIns");
            var resp = request.Execute();

            Debug.WriteLine("EXIT RowIns");
        }
Example #2
0
        private void AddDataByV4Sheets2(PageData PageData)
        {
            SheetsService sheetsService = new SheetsService(new BaseClientService.Initializer
            {
                HttpClientInitializer = GetCredential(),
                ApplicationName       = "Get Google SheetData with Google Sheets API",
            });

            var valueRange = new ValueRange();

            var oblist = new List <object>()
            {
                PageData.Time,
                PageData.gcroup,
                PageData.group,
                PageData.Ename,
                PageData.gender,
                PageData.ClothesSize,
                PageData.Course
            };

            valueRange.Values = new List <IList <object> > {
                oblist
            };
            valueRange.MajorDimension = "Rows"; //Rows or Columns

            SpreadsheetsResource.ValuesResource.AppendRequest request = sheetsService.Spreadsheets.Values.Append(valueRange, spreadsheetId, sheetName);
            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
            var appendReponse = request.Execute();
        }
Example #3
0
        public IActionResult SpreadAppend(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "sa_spread_append")] HttpRequest req, ILogger log)
        {
            _sheetsService = ConnectSpreadSheet();
            string range            = "シート1!B2";
            var    valueInputOption = (SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum) 2;
            var    insertDataOption = (SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum) 1;

            Data.ValueRange        requestBody = new Data.ValueRange();
            List <IList <object> > data        = new List <IList <object> >();

            data.Add(GetAppendList());
            data.Add(GetAppendList());
            data.Add(GetAppendList());
            data.Add(GetAppendList());
            data.Add(GetAppendList());
            requestBody.Values = data;
            SpreadsheetsResource.ValuesResource.AppendRequest request = _sheetsService.Spreadsheets.Values.Append(requestBody, _editSpreadsheetId, range);
            request.ValueInputOption = valueInputOption;
            request.InsertDataOption = insertDataOption;

            Data.AppendValuesResponse response = request.Execute();

            return(new ObjectResult(JsonConvert.SerializeObject(response)));
        }
Example #4
0
        public async void AddToDatabase(List <string> data, String spreadsheetId, string type, string Class)
        {
            // The A1 notation of a range to search for a logical table of data.
            // Values will be appended after the last row of the table.
            string range = type + "!A:G";

            IList <IList <object> > val = new List <IList <object> >();
            ValueRange requestBody      = new ValueRange()
            {
                Values = val
            };

            requestBody.Values.Add(data.Select(x => (object)x).ToList());

            SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum valueInputOption = (SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum) 2;
            SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum insertDataOption = (SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum) 1;

            SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(requestBody, spreadsheetId, range);
            request.ValueInputOption = valueInputOption;
            request.InsertDataOption = insertDataOption;

            AppendValuesResponse response = await request.ExecuteAsync();

            RefreshDatabase(type, Class);
        }
Example #5
0
        public static async Task WriteAsync(List <IList <Object> > values, string spreadSheetId, string fileName)
        {
            var sheetService = GetSheetsService();
            var valueRange   = new ValueRange()
            {
                MajorDimension = "ROWS",
                Values         = values
            };

            // How the input data should be interpreted.
            SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum valueInputOption = (SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED);  // TODO: Update placeholder value.

            // How the input data should be inserted.
            SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum insertDataOption = (SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS);  // TODO: Update placeholder value.

            SpreadsheetsResource.ValuesResource.AppendRequest request = sheetService.Spreadsheets.Values.Append(valueRange, spreadSheetId, "A:A");
            request.ValueInputOption = valueInputOption;
            request.InsertDataOption = insertDataOption;

            AppendValuesResponse response = await request.ExecuteAsync();

            if (response?.Updates?.UpdatedRows != null)
            {
                Console.WriteLine($"{response.Updates.UpdatedRows} Rows Updated for Sheet: {fileName}");
            }
            else
            {
                Console.WriteLine($"Sheet : {fileName} is up to date");
            }
        }
Example #6
0
        public async Task Add(string name)
        {
            if (Utils.GetRowByDiscord(Program.context.User.ToString()) != 0)
            {
                await ReplyAsync("You have already added yourself."); return;
            }
            IList <IList <object> > data = new List <IList <object> >()
            {
                new List <object> {
                    Utils.UpperCaseIt(name.ToLower()), Program.context.User.ToString()
                }
            };

            range              = "B5";
            requestbody        = new Data.ValueRange();
            requestbody.Values = data;
            SpreadsheetsResource.ValuesResource.AppendRequest r = service.Spreadsheets.Values.Append(requestbody, sheetid, range);
            SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum valueinputoption = (SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED);
            SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum insertdataoption = (SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS);
            r.ValueInputOption = valueinputoption;
            r.InsertDataOption = insertdataoption;
            r.AccessToken      = credential.Token.AccessToken;
            Data.AppendValuesResponse response = await r.ExecuteAsync();
            await ReplyAsync("Successfully added!");
        }
Example #7
0
        // Appends existing sheet with specified rows.
        internal static SpreadsheetsResource.ValuesResource.AppendRequest GetAppendRowsRequest(SheetsService sheetsService, string spreadsheetId, string sheetTitleId, int columnCount, int rowCount, int rowsToAdd, IList <IList <object> > newRowsData)
        {
            // Construct string representing range(rows) appending the sheet
            string appendedSheetRange = RangeTranslator.GetRangeString(sheetTitleId, LiveSheetLeftIndex, LiveSheetTopIndex, columnCount, rowCount + rowsToAdd);

            // Construct requestBody value range.
            ValueRange requestBody = new ValueRange();

            // Assign request body range string.
            requestBody.Range = appendedSheetRange;

            // Assign request body values.
            requestBody.Values = newRowsData;

            // Constructs append rows request.
            SpreadsheetsResource.ValuesResource.AppendRequest request = sheetsService.Spreadsheets.Values.Append(requestBody, spreadsheetId, appendedSheetRange);

            // Specify the way in which input data should be interpreted.
            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;

            // Specify the way in which input data should be inserted.
            request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;

            // Return constructed append rows request.
            return(request);
        }
        public bool InsertRecord(string spreadSheetId, string range, object insertObject)
        {
            string newId = Guid.NewGuid().ToString();
            IList <IList <Object> > valueData = new List <IList <object> >();

            valueData.Add(new List <object>()
            {
                newId, insertObject
            });

            ValueRange insertRecord = new ValueRange();

            insertRecord.Values = valueData;

            SpreadsheetsResource.ValuesResource.AppendRequest request =
                Service.Spreadsheets.Values.Append(insertRecord, spreadSheetId, range);

            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;

            var response = request.Execute();

            if (response.Updates.UpdatedRows != null && response.Updates.UpdatedRows > 0)
            {
                return(true);
            }
            return(false);
        }
Example #9
0
        public object writeData(string spreadsheetId, string tenBang, string phamViCell, IList <IList <object> > dataIn)
        {
            checkConnectServer chk = new checkConnectServer();

            if (chk.checkConnectGoogle())
            {
                /*ĐÂY LÀ HÀM GHI DỮ LIỆU VÀO GOOGLE SHEET
                 * Hàm này cần đầu vào là ID bảng, Tên bảng, phạm vi điền (VD: A52 hoặc A5:A8 (Hàng ngang)) và mảng dữ liệu đầu vào.*/
                UserCredential credential = GetCredential(ScopesWrite);

                var sheetsService = new SheetsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = "VolunteerDTU"
                });
                Data.ValueRange requestBody = new Data.ValueRange();
                requestBody.Values = dataIn;
                string range = "'" + tenBang + "'!" + phamViCell;
                SpreadsheetsResource.ValuesResource.AppendRequest request = sheetsService.Spreadsheets.Values.Append(requestBody, spreadsheetId, range);
                request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
                request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
                var response = request.Execute();
                return(response);
            }
            else
            {
                MessageBox.Show("Không có kết nối internet");
                return(null);
            }
        }
Example #10
0
        public async Task <int?> Append(DataTable table, string spreadsheetID, int deleteHeaders)
        {
            ValueRange valueRange = new ValueRange();

            valueRange.Values = new List <IList <object> >();
            for (int i = deleteHeaders; i < table.Rows.Count; i++)
            {
                valueRange.Values.Add(new List <object>(table.Rows[i].ItemArray));
            }
            SpreadsheetsResource.ValuesResource.GetRequest getRequest =
                new SpreadsheetsResource.ValuesResource.GetRequest(service, spreadsheetID, "A:A");
            ValueRange response           = getRequest.Execute();
            int        responseRowsLength = 1;

            if (response.Values != null)
            {
                responseRowsLength = response.Values.Count;
            }
            SpreadsheetsResource.ValuesResource.AppendRequest appendRequest =
                new SpreadsheetsResource.ValuesResource.AppendRequest(
                    service,
                    valueRange,
                    spreadsheetID,
                    string.Format("A{0}:A", responseRowsLength));
            appendRequest.ValueInputOption =
                SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
            return((await appendRequest.ExecuteAsync()).Updates.UpdatedRows);
        }
Example #11
0
        public async Task LogSendedList(IEnumerable <SendedMessage> messages)
        {
            try {
                var service = await _sheetServiceProvider.GetService();

                var range = $"{_configService.Config.SpreadsheetLog.Messages}!A:D";
                SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum valueInputOption
                    = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
                SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum insertDataOption
                    = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
                ValueRange valueRange = new ValueRange();

                var listOfObj = messages.Select(x => (IList <object>) new List <object>()
                {
                    "Исходящее", string.Format(DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss")), x.Message, x.To
                }).ToList();
                valueRange.Values = listOfObj;//new List<IList<object>> { listOfObj };


                SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(valueRange, _configService.Config.SpreadsheetLog.Id, range);
                request.ValueInputOption             = valueInputOption;
                request.InsertDataOption             = insertDataOption;
                request.ResponseDateTimeRenderOption = SpreadsheetsResource.ValuesResource.AppendRequest.ResponseDateTimeRenderOptionEnum.FORMATTEDSTRING;
                AppendValuesResponse response = request.Execute();
            }
            catch (Exception err)
            {
                _toFileLogger.LogError($"CANNOT LOG TO GOOGLE TABLE SENDED LIST. ERROR: {err.Message}");
            }
        }
        public static void InsertYoutubeVN(List <SpotifyInfo> songs, string range)
        {
            try
            {
                var service = UserCredential();
                IList <IList <object> > newValues = new List <IList <object> >();

                foreach (var song in songs)
                {
                    newValues.Add(new List <object> {
                        song.YoutubeLink,
                        song.ViewYoutube
                    });
                }
                ValueRange newValueRage = new ValueRange();
                newValueRage.Values = newValues;
                newValueRage.Range  = range;

                SpreadsheetsResource.ValuesResource.AppendRequest wrequest = service.Spreadsheets.Values.Append(newValueRage, "1k0G4J_HXLzOvaOvoUPHt8m7S-ogMxaeF53SE6ZfgXfo", range);
                wrequest.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.OVERWRITE;
                wrequest.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
                var wresponse = wrequest.Execute();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Example #13
0
        //小組長用
        private void SendGoogleExcelByClass()
        {
            string[] Scopes = { SheetsService.Scope.Spreadsheets };

            //應用程式的名字需要英文
            string ApplicationName = "Get Google SheetData with Google Sheets API";

            UserCredential credential;

            var folder = System.Web.HttpContext.Current.Server.MapPath("/App_Data/MyGoogleStorage");

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                new ClientSecrets
            {
                ClientId     = "117990626740-rptck4cro3bpbu3u7da3t4qlr20i3rsl.apps.googleusercontent.com",
                ClientSecret = "zcFr6UCqdX-jo29QFogCcyf1"
            },
                Scopes,
                "user",
                CancellationToken.None,
                new FileDataStore(folder)).Result;

            // Create Google Sheets API service.

            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = ApplicationName
            });

            // Define request parameters.
            String spreadsheetId = "1IzuEudxNvaO44mTZgXbvcxAfQ21FfxnPeW12PB3jW2M";

            //String range = "工作表1!A:B";
            String range = "工作表1";

            var valueRange = new ValueRange();

            var oblist = new List <object>()
            {
                DateTime.UtcNow.AddHours(8).ToString("yyyy/MM/dd HH:mm:ss"), //時間
                dropGroupClass.SelectedItem.Text,                            //社青
                dropGroupName.SelectedItem.Text,                             //CA202.信豪牧區-彥伯小組
                txtEname.Text.Trim(),                                        //流大丹
                rdogender0.Checked ? "女" : "男",                              //男生
                dropClothesSize.SelectedItem.Text,                           //S
                //dropCourse.SelectedItem.Text //生命突破
                ""
            };

            valueRange.Values = new List <IList <object> > {
                oblist
            };
            valueRange.MajorDimension = "Rows"; //Rows or Columns

            SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(valueRange, spreadsheetId, range);
            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;

            var appendReponse = request.Execute();
        }
Example #14
0
        /// <summary>
        /// 傳送考卷給google excel
        /// </summary>
        private void SendGoogleExcel(AnswerData AnswerData, string _Score)
        {
            string[] Scopes = { SheetsService.Scope.Spreadsheets };

            //應用程式的名字需要英文
            string ApplicationName = "Get Google SheetData with Google Sheets API";

            UserCredential credential;

            var folder = System.Web.HttpContext.Current.Server.MapPath("/App_Data/MyGoogleStorage");

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                new ClientSecrets
            {
                ClientId     = "117990626740-rptck4cro3bpbu3u7da3t4qlr20i3rsl.apps.googleusercontent.com",
                ClientSecret = "zcFr6UCqdX-jo29QFogCcyf1"
            },
                Scopes,
                "user",
                CancellationToken.None,
                new FileDataStore(folder)).Result;

            // Create Google Sheets API service.

            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName       = ApplicationName
            });

            // Define request parameters.
            String spreadsheetId = "1gH0Gn-Qlt-VTbfLnqMccLclUqx9kbGztLEANNaC6EpY";

            //String range = "工作表1!A:B";
            String range = "工作表1";

            var valueRange = new ValueRange();
            //科目, 小組, 姓名, 手機, 分數, 交卷時間
            var oblist = new List <object>()
            {
                AnswerData.user[0].eclass,
                AnswerData.user[0].group,
                AnswerData.user[0].name,
                AnswerData.user[0].mobile,
                _Score,
                DateTime.UtcNow.AddHours(8).ToString("yyyy/MM/dd HH:mm:ss")
            };

            valueRange.Values = new List <IList <object> > {
                oblist
            };
            valueRange.MajorDimension = "Rows"; //Rows or Columns

            SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(valueRange, spreadsheetId, range);
            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;

            var appendReponse = request.Execute();
        }
        public bool CreateNewSheet <T>(IEnumerable <T> list, string path) where T : class
        {
            try
            {
                string[] Scopes          = { SheetsService.Scope.Spreadsheets };
                string   ApplicationName = "GoogleSheetsTest";

                UserCredential credential;

                using (var stream =
                           new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
                {
                    // The file token.json stores the user's access and refresh tokens, and is created
                    // automatically when the authorization flow completes for the first time.
                    string credPath = "token.json";
                    credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                        GoogleClientSecrets.Load(stream).Secrets,
                        Scopes,
                        "user",
                        CancellationToken.None,
                        new FileDataStore(credPath, true)).Result;
                    Console.WriteLine("Credential file saved to: " + credPath);
                }

                // Create Google Sheets API service.
                var service = new SheetsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = ApplicationName,
                });

                var myNewSheet = new Spreadsheet
                {
                    Properties = new SpreadsheetProperties {
                        Title = $"New Sheet"
                    }
                };
                var googleNewSheet = service.Spreadsheets.Create(myNewSheet).Execute();

                // Define request parameters.
                String spreadsheetId = googleNewSheet.SpreadsheetId;
                String range         = $"A:Z";

                SpreadsheetsResource.ValuesResource.AppendRequest request =
                    service.Spreadsheets.Values.Append(new ValueRange()
                {
                    Values = ToDisplayDataList(list)
                }, spreadsheetId, range);
                request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
                request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
                var response = request.Execute();
            }
            catch (Exception ex)
            {
                return(false);
            }
            return(true);
        }
Example #16
0
        private void SendButton_Click(object sender, EventArgs e)
        {
            if (!(OITBox.Text == "") && !(PaisBox.Text == "") && (!(HomNum.Value == 0) || !(MujNum.Value == 0)))
            {
                ValueRange RangoValor = new ValueRange();
                RangoValor.MajorDimension = "ROWS";
                FechaCorrecta             = new DateTime(Calendario.Value.Year, Calendario.Value.Month, Calendario.Value.Day).ToString("dd-MM-yyyy");
                HoraCorrecta = Calendario.Value.Hour.ToString() + ":" + Calendario.Value.Minute.ToString() + ":" + Calendario.Value.Second.ToString();



                var oblist = new List <object> {
                    OITBox.Text, "", PaisBox.Text + "/" + PaisDervBox.SelectedValue, HorarioBox.SelectedValue, FechaCorrecta, TematicaBox.SelectedValue, XperBox.SelectedValue, RegiBox.SelectedValue, DestBox.SelectedValue, PIABox.SelectedValue, HomNum.Value, MujNum.Value
                };
                RangoValor.Values = new List <IList <object> > {
                    oblist
                };

                Contador      = Contador + 1;
                NumCount.Text = Contador.ToString();

                SpreadsheetsResource.ValuesResource.AppendRequest request = Program.service.Spreadsheets.Values.Append(RangoValor, Program.spreadsheetId, Program.Range);
                request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
                request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
                AppendValuesResponse resultadete = request.Execute();
                PaisBox.SelectedIndex     = 0;
                HomNum.Value              = 0;
                MujNum.Value              = 0;
                RegiBox.SelectedIndex     = 0;
                DestBox.SelectedIndex     = 0;
                XperBox.SelectedIndex     = 0;
                TematicaBox.SelectedIndex = 0;
            }
            else if (OITBox.Text == "" && !(PaisBox.Text == ""))
            {
                mensaje = "El campo OIT es obligatorio";
                MessageBox.Show(mensaje);
                OITBox.Focus();
            }
            else if (PaisBox.Text == "" && !(OITBox.Text == ""))
            {
                mensaje = "El campo Nacionalidad es obligatorio";
                MessageBox.Show(mensaje);
                PaisBox.Focus();
            }
            else if ((HomNum.Value == 0) || (MujNum.Value == 0))
            {
                mensaje = "El campo Hombres o Mujeres debe ser mayor a 0";
                MessageBox.Show(mensaje);
                HomNum.Focus();
            }
            else
            {
                mensaje = "Los siguientes campos son obligatorios: \n  -OIT\n  -Nacionalidad";
                MessageBox.Show(mensaje);
                OITBox.Focus();
            }
        }
Example #17
0
 /// <summary>
 /// Appends a row to the sheet.
 /// </summary>
 /// <param name="sheetsService">The sheets service created using CreateSheetsServiceInstance</param>
 /// <param name="sheetId">Unique Id representing the sheet</param>
 /// <param name="sheetName">SheetName, if supplied is used to generate the range</param>
 /// <param name="nextRow"></param>
 /// <param name="valueRange"></param>
 /// <returns></returns>
 public AppendValuesResponse AppendSheetData(SheetsService sheetsService, string sheetId, string sheetName, long nextRow, ValueRange valueRange)
 {
     // (FIX) Row Range is {SheetName}!{row}:{row}
     SpreadsheetsResource.ValuesResource.AppendRequest request = sheetsService.Spreadsheets.Values.Append(valueRange, sheetId,
                                                                                                          (string.IsNullOrEmpty(sheetName) == false ? "'" + sheetName + "'!" : "") + nextRow.ToString() + ":" + nextRow.ToString());
     request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
     request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
     return(request.Execute());
 }
 //Appends values at the and of table
 public void AppentCellsAtEnd(string range)
 {
     this.range        = this.tab + "!" + range;
     this.values.Range = this.range;
     SpreadsheetsResource.ValuesResource.AppendRequest request =
         this.service.Spreadsheets.Values.Append(this.values, this.sheetID, this.range);
     request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.OVERWRITE;
     request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
     var response = request.Execute();
 }
 private static void AppendGoogleSheetinBatch(IList <IList <Object> > values, string spreadsheetId, string newRange, SheetsService service)
 {
     SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(new ValueRange()
     {
         Values = values
     }, spreadsheetId, newRange);
     request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
     request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
     var response = request.Execute();
 }
    public void AppendData(String sheetID, ValueRange valueRange, String range)
    {
        StartService();
        SpreadsheetsResource.ValuesResource.AppendRequest request = service.Spreadsheets.Values.Append(valueRange, sheetID, range);
        //request.ValueInputOption = valueInputOption;
        //request.InsertDataOption = insertDataOption;

        request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
        request.Execute();
    }
        // Appends existing sheet with new range of rows
        internal static async Task AppendRowsAsync(this SheetsService sheetsService, string spreadsheetId, string sheetTitleId, int columnCount, int rowCount, int rowsToAdd, IList <IList <object> > newRowsData)
        {
            // Wait for google apis request quota availability.
            await SessionRequestsLimiter.Instance.WaitAsync();

            // Obtain appropriate append rows request.
            SpreadsheetsResource.ValuesResource.AppendRequest appendRowsRequest = GoogleServicesExtensionsRequestsFactory.GetAppendRowsRequest(sheetsService, spreadsheetId, sheetTitleId, columnCount, rowCount, rowsToAdd, newRowsData);

            // Execute append sheet rows request in safe synchronous manner.
            await RequestsExecutor.SafeExecuteAsync <AppendValuesResponse>(appendRowsRequest);
        }
Example #22
0
        private void AddNewNoteToTable(Note newNote)
        {
            try
            {
                if (gSyncSettings == null)
                {
                    return;
                }
                if (!IsSyncAvaible())
                {
                    OnSyncStateChanged?.Invoke(gSyncState.eFailed);
                    return;
                }

                OnSyncStateChanged?.Invoke(gSyncState.eInWork);

                if (spreadSheetsService == null)
                {
                    spreadSheetsService = new SheetsService(new BaseClientService.Initializer()
                    {
                        HttpClientInitializer = credential,
                        ApplicationName       = applicationName,
                    });
                }

                IList <IList <object> > insertValues = new List <IList <object> >();

                IList <object> ROW = new List <object>();
                ROW.Add(JsonConvert.SerializeObject(newNote, jsonSettings));
                insertValues.Add(ROW);
                if (newNote.GetType() == typeof(Screenshot))
                {
                    Screenshot screen = newNote as Screenshot;
                    UploadScreenshot(screen);
                }

                ValueRange body = new ValueRange();
                body.Values = insertValues;
                SpreadsheetsResource.ValuesResource.AppendRequest result = spreadSheetsService.Spreadsheets.Values.Append(body, gSyncSettings.spreadshetrID, "Notesieve!A1:B");
                result.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
                result.Execute();
                UpdateDataVersion();

                OnSyncStateChanged?.Invoke(gSyncState.eSuccessPut);
            }
            catch (System.Net.Http.HttpRequestException e)
            {
                OnSyncStateChanged?.Invoke(gSyncState.eLostConnection);
            }
            catch
            {
                OnSyncStateChanged?.Invoke(gSyncState.eFailed);
            }
        }
Example #23
0
 public void WriteToSheetAtRange(string sheetName, IList <IList <object> > data, string range)
 {
     SpreadsheetsResource.ValuesResource.AppendRequest request =
         Service.Spreadsheets.Values.Append(new ValueRange()
     {
         Values = data
     }, SheetId, GetSheetAndRangeName(sheetName, range));
     request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.OVERWRITE;
     request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
     var response = request.Execute();
 }
Example #24
0
 public async Task UpdateSheet(IList <IList <Object> > newRecords, string range = _logBookRange)
 {
     SpreadsheetsResource.ValuesResource.AppendRequest request =
         _sheetsService.Spreadsheets.Values.Append(new ValueRange()
     {
         Values = newRecords
     }, _spreadsheetId, GetNewRange(range));
     request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.OVERWRITE;
     request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
     var response = await request.ExecuteAsync();
 }
Example #25
0
 internal static void NewMember(SheetsService service, string spreadsheetId, DatabaseSheet sheet, IList <IList <object> > values)
 {
     SpreadsheetsResource.ValuesResource.AppendRequest request =
         service.Spreadsheets.Values.Append(new ValueRange()
     {
         Values = values
     }, spreadsheetId, $"{sheet.Name}!{sheet.DatabaseColumns.FirstOrDefault().Value.ColumnLetters}{sheet.ColumnHeadersRow+2}:{sheet.DatabaseColumns.LastOrDefault().Value.ColumnLetters}{sheet.ColumnHeadersRow + 2}");
     request.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;
     request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
     var response = request.Execute();
 }
        public void insertData()
        {
            UserCredential credential;

            using (var stream =
                       new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
            {
                // The file token.json stores the user's access and refresh tokens, and is created
                // automatically when the authorization flow completes for the first time.
                string credPath = "token.json";
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
                Console.WriteLine("Credential file saved to: " + credPath);
            }

            SheetsService sheetsService = new SheetsService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName       = ApplicationName,
            });

            // The ID of the spreadsheet to Append.
            string spreadsheetId = "YOUR SPREADSHEET ID";  // TODO: Update placeholder value.

            // The A1 notation of the values to Append.
            string range = "YOUR SPREADSHEET RANGE";  // TODO: Append placeholder value.

            // How the input data should be interpreted.
            SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum valueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;

            // TODO: Assign values to desired properties of `requestBody`. All existing
            // properties will be replaced:
            ValueRange requestBody = new ValueRange();

            var oblist = new List <object>()
            {
                "YOUR SPREADSHEET VALUE"
            };

            requestBody.Values = new List <IList <object> > {
                oblist
            };

            SpreadsheetsResource.ValuesResource.AppendRequest request = sheetsService.Spreadsheets.Values.Append(requestBody, spreadsheetId, range);
            request.ValueInputOption = valueInputOption;

            // To execute asynchronously in an async method, replace `request.Execute()` as shown:
            AppendValuesResponse response = request.Execute();
        }
Example #27
0
        public void WriteValues(List <IList <object> > values)
        {
            ValueRange body = new ValueRange();

            body.MajorDimension = "ROWS";
            body.Values         = values;
            // Define request parameters.
            SpreadsheetsResource.ValuesResource.AppendRequest request =
                service.Spreadsheets.Values.Append(body, spreadsheetId, range);
            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;

            AppendValuesResponse response = request.Execute();
        }
        public static bool UpdateTrade(DateTime dateTime, double amount, string buyExchange, double buyPrice,
                                       string sellExchange, double sellPrice, double gainAmount, double gainPerc)
        {
            try
            {
                ValueRange valueRangeObj = new ValueRange();
                valueRangeObj.MajorDimension = "ROWS";
                var valuesList = new List <object>()
                {
                    dateTime.ToString("MM/dd/yyyy HH:mm:ss"),
                    amount,
                    buyExchange,
                    buyPrice,
                    sellExchange,
                    sellPrice,
                    gainAmount,
                    gainPerc
                };
                valueRangeObj.Values = new List <IList <object> > {
                    valuesList
                };


                // Create Google Sheets API service.
                sheetService = new SheetsService(new BaseClientService.Initializer
                {
                    HttpClientInitializer = GetCredential(),
                    ApplicationName       = ApplicationName,
                });

                String range = string.Empty;
                range = string.Format("{0}!{1}", sheetTrades, "A2:N");

                //APPEND
                //https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append
                SpreadsheetsResource.ValuesResource.AppendRequest requestAppend = sheetService.Spreadsheets.Values.Append(valueRangeObj, spreadsheetId, range);
                requestAppend.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;
                requestAppend.InsertDataOption = SpreadsheetsResource.ValuesResource.AppendRequest.InsertDataOptionEnum.INSERTROWS;

                AppendValuesResponse responseAppend = requestAppend.Execute();

                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine("\nERRO UpdateTradeExecuted: {0}\n{1}", ex.Message, ex.InnerException);
                return(false);
            }
        }
        //***********************************************************************
        // Definition of append()                                               *
        // Takes a list of objects as input and forms a 2D list of objects which*
        // forms a ValueRange object. The google API AppendRequest object is    *
        // instantiated with the ValueRange, a Google spreadsheet ID number and *
        // a defined range of cells. The append request is executed.            *
        //***********************************************************************
        public void append(IList <Object> oblist, string spreadsheetID, string range)
        {
            List <IList <Object> > values = new List <IList <object> > {
                oblist
            };

            ValueRange valueRange = new ValueRange();

            valueRange.Values = values;

            SpreadsheetsResource.ValuesResource.AppendRequest request =
                service.Spreadsheets.Values.Append(valueRange, spreadsheetID, range);
            request.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.RAW;
            request.Execute();
        }
Example #30
0
        private void AddEntry(string SpreadSheet, List <object> objectArray)
        {
            string     range      = $"{SpreadSheet}!A:Z";
            ValueRange valueRange = new ValueRange
            {
                Values = new List <IList <object> > {
                    objectArray
                }
            };

            SpreadsheetsResource.ValuesResource.AppendRequest appendRequest = service.Spreadsheets.Values.Append(valueRange, SpreadSheetID, range);
            appendRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.AppendRequest.ValueInputOptionEnum.USERENTERED;

            AppendValuesResponse appendRespond = appendRequest.Execute();
        }