コード例 #1
0
        static void ReadSheet()
        {
            var range = $"{sheet}!A:C";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(SpreadsheetId, range);

            var response = request.Execute();
            IList <IList <object> > values = response.Values;

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    Console.WriteLine("{0} | {1} | {2}", row[0], row[1], row[2]);
                }
            }
            else
            {
                Console.WriteLine("No data found.");
            }
        }
コード例 #2
0
        public object Create(SheetRow _Row)
        {
            // Create Google Sheets API service.
            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = WebApiApplication.credential,
                ApplicationName       = WebApiApplication.ApplicationName
            });

            // Define request parameters.
            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, "Data!A:B");
            ValueRange response            = request.Execute();
            IList <IList <Object> > values = response.Values;
            ValueRange v = new ValueRange();

            v.Range = "Data!A" + (values.Count + 1) + ":Z" + (values.Count + 1);
            IList <IList <object> > ret = new List <IList <object> >();
            IList <object>          row = new List <object>();
            IList <ValueRange>      lst = new List <ValueRange>();

            foreach (string s in _Row.Row)
            {
                row.Add(s);
            }
            ret.Add(row);
            v.Values = ret;
            lst.Add(v);
            Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest _body = new Google.Apis.Sheets.v4.Data.BatchUpdateValuesRequest();
            _body.Data             = lst;
            _body.ValueInputOption = "RAW";
            v.MajorDimension       = "ROWS";
            SpreadsheetsResource.ValuesResource.BatchUpdateRequest request2 =
                service.Spreadsheets.Values.BatchUpdate(_body, spreadsheetId);
            request2.Fields = "totalUpdatedRows";
            BatchUpdateValuesResponse response2 = request2.Execute();

            return(response2.TotalUpdatedRows);
        }
コード例 #3
0
        protected static string GetRange(SheetsService service, string SheetId)
        {
            // Define request parameters.
            String spreadsheetId = SheetId;
            String range         = "A:A";

            SpreadsheetsResource.ValuesResource.GetRequest getRequest =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

            ValueRange getResponse            = getRequest.Execute();
            IList <IList <Object> > getValues = getResponse.Values;

            if (getValues == null)
            {
                return(getResponse.Range);
            }
            int currentCount = getValues.Count() + 1;

            String newRange = "A" + currentCount + ":A";

            return(newRange);
        }
コード例 #4
0
        public async Task Execute(IJobExecutionContext context)
        {
            JobDataMap          dataMap     = context.JobDetail.JobDataMap;
            DiscordSocketClient dcordClient = (DiscordSocketClient)context.Scheduler.Context.Get("dcordClient");
            SheetsService       service     = (SheetsService)context.Scheduler.Context.Get("service");
            ulong             clientKey     = ulong.Parse(dataMap.GetString("channelKey"));
            ulong             guildKey      = ulong.Parse(dataMap.GetString("guildKey"));
            SocketTextChannel channel       = dcordClient.GetGuild(guildKey).GetChannel(clientKey) as SocketTextChannel;

            await Console.Out.WriteLineAsync("Job executing");

            // Define request parameters.
            String spreadsheetId = ConfigurationManager.AppSettings["Google_SpreadsheetID"];
            String range         = String.Format("'{0}/{1}'!A{2}:C{2}", DateTime.Today.Month, DateTime.Today.Year, DateTime.Today.Day + 1);

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

            // Print
            ValueRange response            = request.Execute();
            IList <IList <Object> > values = response.Values;
            String msgString = "";

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    if (row.Count == 3)
                    {
                        msgString = String.Format("Hello! The reading for today ({0}) is from {1} {2}.\nhttps://www.biblegateway.com/passage/?search={1}+{2}&version=NKJV\nGod bless!", DateTime.Today.DayOfWeek.ToString(), row[1], row[2]);
                    }
                }
            }

            if (msgString != "")
            {
                await channel.SendMessageAsync(msgString);
            }
        }
コード例 #5
0
        public List <Paciente> ReadEntries()
        {
            try
            {
                List <Paciente> lista = new List <Paciente>();
                var             range = $"{sheet}!A:M";
                SpreadsheetsResource.ValuesResource.GetRequest request =
                    service.Spreadsheets.Values.Get(SpreadsheetId, range);

                var response = request.Execute();
                IList <IList <object> > values = response.Values;
                if (values != null && values.Count > 0)
                {
                    int i = 0;
                    foreach (var row in values)
                    {
                        i++;
                        if (values[0] == row)
                        {
                            continue;
                        }
                        Paciente paciente = BindearPaciente(row, i);
                        if (!Object.Equals(null, paciente))
                        {
                            lista.Add(paciente);
                        }
                    }
                }
                else
                {
                    Console.WriteLine("No data found.");
                }
                return(lista);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #6
0
ファイル: SheetWorker.cs プロジェクト: skyformat99/WeeDo
        private List <List <string> > getInfo(string sheet_url, string rangeA0)
        {
            if (credential == null)
            {
                throw new Exception("認証情報の取得に失敗しました。credential null");
            }
            List <List <string> > ans = new List <List <string> >();

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

            String spreadsheetId = sheetUrlToId(sheet_url);
            String range         = rangeA0;

            //            String range = "一覧!A1:J";
            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

            ValueRange response            = request.Execute();
            IList <IList <Object> > values = response.Values;

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    List <string> list = new List <string>();

                    foreach (var col in row)
                    {
                        list.Add(col.ToString());
                    }
                    ans.Add(list);
                }
            }
            return(ans);
        }
コード例 #7
0
ファイル: SheetsApiHelper.cs プロジェクト: ph33rtehgd/FFRK
        public ValueRange GetSheetsData(string spreadsheetId, string worksheetName, string rangeExpression, int valueRenderOption)
        {
            SpreadsheetsResource.ValuesResource.GetRequest request = GetSheetsRequest(spreadsheetId, worksheetName, rangeExpression, valueRenderOption);

            ValueRange response = null;

            try
            {
                response = request.Execute();
            }
            catch (Exception e)
            {
                _logger.LogError("Exception while fetching sheets data. Could be a rate limit...trying again in 30 seconds.", e);
                Thread.Sleep(30000);
                response = GetSheetsData(spreadsheetId, worksheetName, rangeExpression, valueRenderOption);
            }

            _logger.LogInformation("SheetsService instance retrieved {RowCount} rows of data for request for {SpreadsheetId}, {WorksheetName}, {RangeExpression}",
                                   response.Values.Count, spreadsheetId, worksheetName, rangeExpression);

            return(response);
        }
コード例 #8
0
        public void BuildGameDataFromSheet(string outRootPath)
        {
            string outPath           = outRootPath + Path.DirectorySeparatorChar + "Alchemy.txt";
            GoogleSheetConnector gsc = GoogleSheetConnector.GetInstance();
            string talkSpreadsheetId = gsc.SpreadsheetIDs["Alchemy"];

            Console.WriteLine("Getting Alchemy Spreadsheet content");

            //Getting all current entries
            SpreadsheetsResource.ValuesResource.GetRequest request = gsc.Service.Spreadsheets.Values.Get(talkSpreadsheetId, SheetRange);
            ValueRange             response = request.Execute();
            List <IList <object> > values   = (List <IList <object> >)response.Values;

            //Clearing talk File
            string rootPath = Path.GetDirectoryName(outPath);

            if (!Directory.Exists(rootPath))
            {
                Directory.CreateDirectory(rootPath);
            }
            File.WriteAllText(outPath, "");

            Console.WriteLine("Constructing Alchemy.txt...");
            using (StreamWriter sw = File.AppendText(outPath))
            {
                if (values != null && values.Count > 0)
                {
                    foreach (var row in values)
                    {
                        sw.Write((string)row[0] + '\t'); //ID
                        sw.Write((string)row[1] + '\t'); //Name
                        sw.Write((string)row[3] + '\t'); //ID2
                        sw.Write('\r');
                    }
                }
            }
            Console.WriteLine("Done!");
        }
コード例 #9
0
ファイル: EmailService.cs プロジェクト: narendhar25/C-
        private Tuple <List <string>, List <List <string> >, bool> ReadFromGoogleSheet(string date)
        {
            try
            {
                string         credPath   = "token.json";
                string[]       Scopes     = { SheetsService.Scope.SpreadsheetsReadonly };
                FileStream     fileStream = new FileStream(Environment.CurrentDirectory + "//credentials.json", FileMode.Open, FileAccess.Read);
                UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(fileStream).Secrets, Scopes, configuration.From, CancellationToken.None,
                                                                                        new FileDataStore(credPath, true)).Result;
                // Create Google Sheets API service.
                var service = new SheetsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName       = "Console App",
                });

                // Define request parameters.
                string[] spreadsheetId = configuration.GoogleSheetURL.Split('/');//(configuration.GoogleSheetURL.LastIndexOf('/') + 1, (configuration.GoogleSheetURL.Length - configuration.GoogleSheetURL.LastIndexOf('/')) - 1);
                string   range         = "A:AZ";
                SpreadsheetsResource.ValuesResource.GetRequest request =
                    service.Spreadsheets.Values.Get(spreadsheetId[spreadsheetId.Length - 2], range);
                ValueRange response                  = request.Execute();
                IList <IList <Object> > values       = response.Values;
                List <List <Object> >   todaysStatus = new List <List <Object> >();
                bool isTodayStatus = false;
                GetTodayStatus(values, ref todaysStatus, ref isTodayStatus, date);
                List <string> columns = (from p in values[0] select p.ToString()).ToList();
                columns.RemoveRange(0, 2);
                columns.RemoveRange(5, 4);
                values.RemoveAt(0);
                List <List <string> > rows = todaysStatus.Select(s => s.Select(a => a.ToString()).ToList()).ToList();
                return(new Tuple <List <string>, List <List <string> >, bool>(columns, rows, isTodayStatus));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #10
0
        public IEnumerable <Nes> ReadEntries(string sheet, string columnRange)
        {
            SetupCredentials();

            var sheetWithRange = $"{sheet}!{columnRange}";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(SpreadsheetId, sheetWithRange);


            var response = request.Execute();
            IList <IList <object> > values = response.Values;

            List <Nes> something = Enumerable.Empty <Nes>().ToList();

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    var nes = new Nes
                    {
                        Name             = row[0].ToString(),
                        NumberOfPlayers  = row[1].ToString(),
                        Type             = row[2].ToString(),
                        Save             = row[3].ToString(),
                        SimultaneousTurn = row[4].ToString(),
                        NumberOfScrews   = row[5].ToString(),
                        Instructions     = row[6].ToString(),
                        Box         = row[7].ToString(),
                        MarkingsEtc = row[8].ToString(),
                        Publisher   = row[9].ToString(),
                        Feature     = row.Count > 10 ? row[10].ToString() : string.Empty
                    };
                    something.Add(nes);
                }
            }
            return(something);
        }
コード例 #11
0
        //讀取 戰鬥暫存
        public List <string> ReadFTempEntries(string key)
        {
            string sheet = "戰鬥暫存";
            string Start = "A";
            string End   = "N";

            var range = $"{sheet}!{Start}:{End}";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(SpreadsheetId, range);

            var response = request.Execute();
            IList <IList <object> > values = response.Values;

            int           第幾筆    = 1;
            List <string> 回傳暫存資訊 = new List <string>();

            //return values;
            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    if (row[0].ToString() == key)
                    {
                        回傳暫存資訊 = new List <string>()
                        {
                            row[HC.A].ToString(), row[HC.B].ToString(), row[HC.C].ToString(), row[HC.D].ToString(), row[HC.E].ToString()
                            , row[HC.F].ToString(), row[HC.G].ToString(), row[HC.H].ToString(), row[HC.I].ToString(), row[HC.J].ToString(), row[HC.K].ToString(), row[HC.L].ToString(), row[HC.M].ToString(), row[HC.N].ToString(), 第幾筆.ToString()
                        };

                        break;
                    }
                    第幾筆++;
                }
            }

            return(回傳暫存資訊);
        }
コード例 #12
0
        public void ReadQualifiedEntriesCompany1()
        {
            var range = $"QualifiedQueue!A:G";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(SpreadsheetIdCompany1, range);
            var response = request.Execute();
            var values   = response.Values;

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    Console.WriteLine("{0} | {1} | {2} | {3}", row[0], row[1], row[2], row[3]);
                }
            }
            //IList<IList<object>> values = response.Values;

            //Console.WriteLine(values);

            /*  SpreadsheetsResource.ValuesResource.GetRequest request =
             *       service.Spreadsheets.Values.Get(SpreadsheetId, range);
             *
             * var response = request.Execute();
             * IList<IList<object>> values = response.Values;
             * if (values != null && values.Count > 0)
             * {
             *   foreach (var row in values)
             *   {
             *       // Print columns A to F, which correspond to indices 0 and 4.
             *       Console.WriteLine("{0} | {1} | {2} ", row[0], row[1], row[2]);
             *   }
             * }
             * else
             * {
             *   Console.WriteLine("No data found.");
             * } */
        }
コード例 #13
0
        public static async Task CheckSheets(DiscordSocketClient client)
        {
            SpreadsheetsResource.ValuesResource.GetRequest request = _service.Spreadsheets.Values.Get(SheetId, Range);

            ValueRange responses           = request.Execute();
            IList <IList <Object> > values = responses.Values;
            string start = Range.Split(':')[0];

            start = Regex.Replace(start, @"[\d-]", string.Empty);

            // Checks if the newly retrieved sheet is the same as the previous one
            if (values.Count == _previousSheetValues.Count)
            {
                for (int i = 0; i < values.Count; i++)
                {
                    for (int x = 0; x < values[i].Count; x++)
                    {
                        if (!values[i][x].Equals(_previousSheetValues[i][x]))
                        {
                            await AssignRoles(client, values); // Re-assigns all roles (System doesn't know if someone changed their previous form results)

                            _previousSheetValues = values;
                            return;
                        }
                    }
                }
            }

            else
            {
                await AssignRoles(client, values);

                _previousSheetValues = values;
                return;
            }

            Console.WriteLine("[" + DateTime.Now + "] No update from the linked Google Sheet.");
        }
コード例 #14
0
        //Gets sheet data from cell range
        static void GetSpreadData(string SheetTitle, string SheetName, string Column, int Min, int Max)
        {
            var service = new SheetsService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = GetCredential(),
                ApplicationName       = ApplicationName,
            });

            // Define request parameters.
            String spreadsheetId = GetSheetIdByTitle(SheetTitle);
            String range         = SheetName + "!" + Column + Convert.ToString(Min) + ":" + Column + Convert.ToString(Max);

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

            // Prints the names and majors of students in a sample spreadsheet:
            // https://docs.google.com/spreadsheets/d/1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms/edit
            ValueRange response            = request.Execute();
            IList <IList <Object> > values = response.Values;

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    foreach (var col in row)
                    {
                        // Print columns A and E, which correspond to indices 0 and 4.
                        Console.Write(col + ",");
                    }
                    Console.WriteLine();
                }
            }
            else
            {
                Console.WriteLine("No data found.");
            }
            Console.Read();
        }
コード例 #15
0
ファイル: Form1.cs プロジェクト: mvh1015/Game-Lab
        private string GetTodaysRange(Pages page, SheetsService service)
        {
            string startRange = null;

            switch (page)
            {
            case Pages.SignIn:
                startRange = "Winter 2018!I" + rowStart.ToString() + ":N";
                break;

            case Pages.LabEquipment:
                startRange = "Winter 2018!A" + rowStart.ToString() + ":G";
                break;

            default:
                startRange = null;
                break;
            }
            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, startRange);

            ValueRange response            = request.Execute();
            IList <IList <Object> > values = response.Values;

            string rowToInsert = (rowStart + values.Count()).ToString();

            switch (page)
            {
            case Pages.SignIn:
                startRange = "Winter 2018!I" + rowToInsert + ":N" + rowToInsert;
                break;

            case Pages.LabEquipment:
                startRange = "Winter 2018!A" + rowToInsert + ":G" + rowToInsert;
                break;
            }
            return(startRange);
        }
コード例 #16
0
ファイル: Proxy.cs プロジェクト: SergeyIlminskyi/TestProjects
        public List <Data> GetSpreadsheetData <Data>(string spreadsheetId, string range)
            where Data : new()
        {
            var dataList = new List <Data>();

            using (var service = GetSheetsService())
            {
                try
                {
                    SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);

                    var response = request.Execute();

                    IList <IList <object> > values = response.Values;

                    if (values != null && values.Count > 0)
                    {
                        var type       = typeof(Data);
                        var properties = type.GetProperties(BindingFlags.Instance | BindingFlags.Public);


                        foreach (var row in values)
                        {
                            var dataItem = new Data();
                            foreach (var prop in properties.Select((value, index) => new { Value = value, Index = index }))
                            {
                                prop.Value.SetValue(dataItem, Convert(row[prop.Index].ToString(), prop.Value.PropertyType));
                            }
                            dataList.Add(dataItem);
                        }
                    }
                }
                catch { } //На реализацию нормальной обработки нет времени


                return(dataList);
            }
        }
コード例 #17
0
        public void GatherSpreadSheetData(ref SheetsService service, string spreadsheetId, string range)
        {
            Console.WriteLine("Reading range: " + range);

            SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);

            //Gather all the data in the first four columns
            ValueRange response            = request.Execute();
            IList <IList <Object> > values = response.Values;

            if (values != null && values.Count > 0)
            {
                Console.WriteLine("Building CardItems.");
                foreach (IList <Object> column in values)
                {
                    Deck.Add(new CardItem(column[0].ToString(), column[1].ToString(), column[2].ToString(), column[3].ToString()));
                }
            }
            else
            {
                Console.WriteLine("No data found.");
            }
        }
コード例 #18
0
        private static void ReadEntries()
        {
            var range = $"{Sheet}!A:F";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                _service.Spreadsheets.Values.Get(SpreadsheetId, range);

            var response = request.Execute();
            IList <IList <object> > values = response.Values;

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    // Print columns A to F, which correspond to indices 0 and 4.
                    Console.WriteLine("{0} | {1} | {2} | {3} | {4} | {5}", row[0], row[1], row[2], row[3], row[4], row[5]);
                }
            }
            else
            {
                Console.WriteLine("No data found.");
            }
        }
コード例 #19
0
        public async Task <ValuesRange> GetAsync(string sheetId, SpreadsheetGetRequest getRequest, CancellationToken cancellationToken)
        {
            (CellCoordinate cellCoordinate, _) = CellCoordinate.ParseRange(getRequest.CellsRange);

            SpreadsheetsResource.ValuesResource.GetRequest request =
                _clientService.Spreadsheets.Values.Get(sheetId, $"{getRequest.Sheet}!{getRequest.CellsRange}");
            request.ValueRenderOption = SpreadsheetsResource.ValuesResource.GetRequest.ValueRenderOptionEnum.UNFORMATTEDVALUE;
            ValueRange response = await request.ExecuteAsync(cancellationToken);

            IList <IList <object> > values = response.Values;

            IEnumerable <Cell> cells = values.Select((x, row) => x.Select((y, coll) => new Cell {
                Coordinate = new CellCoordinate {
                    Row    = row + cellCoordinate.Row,
                    Column = Column.FromNumber(coll) + cellCoordinate.Column,
                },
                Value = y as string
            })).SelectMany(x => x);

            var result = new ValuesRange(cells);

            return(result);
        }
コード例 #20
0
        public void Authorize()
        {
            using (var stream =
                       new FileStream("PATH_TO_YOUR_CREDENTIALS_JSON_FILE", FileMode.Open, FileAccess.Read))
            {
                string credPath = "token.json";
                credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
            }

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

            _service = service;
            SpreadsheetsResource.ValuesResource.GetRequest request = _service.Spreadsheets.Values.Get(spreadsheetId, MainRange);
        }
コード例 #21
0
        protected static string GetRange(SheetsService service, string SheetId)
        {
            // Define request parameters.
            String spreadsheetId = SheetId;
            String range         = "A:A";

            SpreadsheetsResource.ValuesResource.GetRequest getRequest =
                service.Spreadsheets.Values.Get(spreadsheetId, range);
            System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); };
            ValueRange getResponse            = getRequest.Execute();
            IList <IList <Object> > getValues = getResponse.Values;

            if (getValues == null)
            {
                // spreadsheet is empty return Row A Column A
                return("A:A");
            }

            int    currentCount = getValues.Count() + 1;
            String newRange     = "A" + currentCount + ":A";

            return(newRange);
        }
コード例 #22
0
        public static IList <IList <Object> > Read(SheetsService service, string sheetsId, string listName, string cellsRange)
        {
            Console.Write("Чтение данных из удаленной таблицы...");
            // Define request parameters.
            String spreadsheetId = sheetsId;
            String range         = listName + (cellsRange == "" ? "" : ("!" + cellsRange));

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

            ValueRange response = request.Execute();

            IList <IList <Object> > values = response.Values;

            if (values == null || values.Count <= 0)
            {
                Console.WriteLine("No data found.");
            }

            Console.WriteLine("Завершено.");

            return(values);
        }
コード例 #23
0
ファイル: Program.cs プロジェクト: tiagor87/LeitorPlanilha
        private static ValueRange ObterPlanilha()
        {
            var credential = GoogleCredential.FromFile("credential.json")
                             .CreateScoped(Scopes)
                             .CreateWithUser("*****@*****.**");

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

            String spreadsheetId = "1UMHhZiMOkBrOO8Vw0ash7JFay2_rbOhLATvdwXtijL4";
            String range         = "Evolução de empresas contratadas CCX";

            SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, range);
            request.MajorDimension = MajorDimensionEnum.COLUMNS;

            ValueRange response = request.Execute();

            return(response);
        }
コード例 #24
0
        private IList <IList <object> > GetRegions()
        {
            SheetsService service = new SheetsService(new BaseClientService.Initializer
            {
                HttpClientInitializer = _credential,
                ApplicationName       = "TrafficJams"
            });
            string spreadsheetId = "1AhemqFP2lZ4ifcXGmArOydA3w24Yd7LdQ3KZveN-JR4";
            string range         = "Регионы!A1:B";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);
            try
            {
                ValueRange response = request.Execute();
                return(response.Values);
            }
            catch (Exception e)
            {
                Debug.WriteLine(e);
                throw;
            }
        }
コード例 #25
0
        internal void SheetRead()
        {
            var range = $"{sheet}!A1:E1";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(spreadsheetId, range);

            ValueRange response            = request.Execute();
            IList <IList <object> > values = response.Values;

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    Console.WriteLine("{0}, {1}, {2}, {3}",
                                      row[0], row[1], row[2], row[3]);
                }
            }
            else
            {
                Console.WriteLine("No data found.");
            }
        }
コード例 #26
0
        private void ReadEntries()
        {
            var range = "A2:K";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(SpreadsheetId, range);

            var response = request.Execute();
            IList <IList <object> > values = response.Values;

            if (values != null && values.Count > 0)
            {
                //ListViewItem item = new ListViewItem();
                foreach (var row in values)
                {
                    dataGridView1.Rows.Add(row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10]);
                }
            }
            else
            {
                MessageBox.Show("Ошибка чтения данных");
            }
        }
コード例 #27
0
        public bool UpdateItemCount(string item, int delta = 1)
        {
            SpreadsheetsResource.ValuesResource.GetRequest request = Service.Spreadsheets.Values.Get(SheetID, ItemRange);
            ValueRange response = request.Execute();

            int rownum = this.StartingRow;

            foreach (var row in response.Values)
            {
                if (item.Equals((string)row[0], System.StringComparison.CurrentCultureIgnoreCase))
                {
                    int currentamount = int.Parse((string)row[1]);
                    currentamount += delta;

                    string     updateCell  = string.Format("{0}!{1}", SheetName, A1(StartingColumn + 1, rownum));
                    ValueRange updateRange = new ValueRange();
                    updateRange.MajorDimension = "COLUMNS";
                    var temp = new List <object> {
                        currentamount
                    };
                    updateRange.Values = new List <IList <object> > {
                        temp
                    };

                    // WHY IS JAVA LEAKING INTO MY C#
                    SpreadsheetsResource.ValuesResource.UpdateRequest updateRequest = Service.Spreadsheets.Values.Update(updateRange, SheetID, updateCell);
                    updateRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.RAW;
                    var updateresponse = updateRequest.Execute();

                    return(updateresponse.UpdatedCells > 0);
                }

                rownum++;
            }

            return(false);
        }
コード例 #28
0
        //讀取 特定角色
        public List <string> ReadRoleEntries(string name)
        {
            List <string> 回傳角色資訊 = new List <string>();;

            string sheet = "角色";
            string Start = "A";
            string End   = "I";

            var range = $"{sheet}!{Start}:{End}";

            SpreadsheetsResource.ValuesResource.GetRequest request =
                service.Spreadsheets.Values.Get(SpreadsheetId, range);

            var response = request.Execute();
            IList <IList <object> > values = response.Values;

            //List<string> 回傳角色資訊 = new List<string>();
            //return values;
            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    if (row[0].ToString() == name)
                    {
                        回傳角色資訊 = new List <string>()
                        {
                            row[0].ToString(), row[1].ToString(), row[2].ToString()
                            , row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString(), row[8].ToString()
                        };

                        break;
                    }
                }
            }

            return(回傳角色資訊);
        }
コード例 #29
0
        public Dictionary <string, ChannelRole> GetChannels(bool forceReload = false)
        {
            if (!forceReload && channels != null)
            {
                return(channels);
            }

            var result = new Dictionary <string, ChannelRole>();

            SpreadsheetsResource.ValuesResource.GetRequest request = service.Spreadsheets.Values.Get(spreadsheetId, channelListRange);
            ValueRange response          = request.Execute();
            IList <IList <Object> > rows = response.Values;

            if (rows != null && rows.Count > 0)
            {
                for (int i = 1; i < rows.Count; i++)
                {
                    if (rows[i].Count > 0)
                    {
                        string channel = rows[i][0].ToString().ToLower();
                        string type    = rows[i].Count > 1 ? rows[i][1].ToString().ToLower() : null;
                        if (!string.IsNullOrWhiteSpace(channel))
                        {
                            result.Add(channel, Util.GetChannelTypeFromString(type));
                        }
                    }
                }
            }

            if (result.Count == 0)
            {
                Console.WriteLine("Warning, no channel list found.");
            }

            channels = result;
            return(result);
        }
コード例 #30
0
        public virtual void BuildGameDataFromSheet(string outRootPath)
        {
            string outFilePath = outRootPath + Path.DirectorySeparatorChar + FilePathWithoutExtension + OutputExtension;

            Console.WriteLine("Getting " + AssetName + " Spreadsheet content");

            SpreadsheetsResource.ValuesResource.GetRequest request = GoogleSheetConnector.GetInstance().Service.Spreadsheets.Values.Get(SheetId, SheetRange);
            ValueRange             response = request.Execute();
            List <IList <object> > values   = (List <IList <object> >)response.Values;

            //Clearing Asset File
            string outDirectory = Path.GetDirectoryName(outFilePath);

            if (!Directory.Exists(outDirectory))
            {
                Directory.CreateDirectory(outDirectory);
            }
            //Resetting file
            File.WriteAllText(outFilePath, "");

            //Getting all Sheet entries and dumping them into output text asset in right format
            Console.WriteLine("Extracting to " + FilePathWithoutExtension + OutputExtension);
            StreamWriter sw = File.AppendText(outFilePath);

            if (values != null && values.Count > 0)
            {
                foreach (var row in values)
                {
                    AssetEntry thisEntry = new AssetEntry(VariableDefinitions);
                    thisEntry.PopulateBySheetRow(row);
                    thisEntry.AppendToFile(sw, thisEntry);
                }
            }

            sw.Close();
        }