Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using Google.GData.Client;
- using Google.GData.Documents;
- using Google.GData.Spreadsheets;
- namespace GoogleDocsExtractor
- {
- public class GoogleExcel
- {
- public GoogleExcel(string applicationName, string userName, string password)
- {
- _application = applicationName;
- _userName = userName;
- _password = password;
- }
- private string _application, _userName, _password;
- private ArrayList allWorksheets = new ArrayList();
- private List<HerceptinStanding> _standings = new List<HerceptinStanding>();
- public void Start()
- {
- try
- {
- var service = new SpreadsheetsService(_application){
- Credentials = new GDataCredentials(_userName, _password)
- };
- var query = new Google.GData.Spreadsheets.SpreadsheetQuery();
- var spreadsheetFeed = service.Query(query).Entries.Where(m => m.Title.Text == "TOGA Contest March Monthly FIN").Cast<SpreadsheetEntry>();
- foreach (var spreadsheetEntry in spreadsheetFeed){
- var link = spreadsheetEntry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);
- var wsQuery = new WorksheetQuery(link.HRef.ToString());
- var spreadsheetWorksheets = service.Query(wsQuery).Entries.Cast<WorksheetEntry>();
- foreach (var worksheet in spreadsheetWorksheets){
- var listFeedLink = worksheet.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);
- var lQry = new ListQuery(listFeedLink.HRef.ToString());
- var listFeed = service.Query(lQry);
- foreach (ListEntry worksheetRow in listFeed.Entries)
- {
- var standing = new HerceptinStanding();
- var elements = worksheetRow.Elements;
- foreach (ListEntry.Custom e in elements){
- switch (e.LocalName)
- {
- case "name":
- standing.Name = e.Value;
- break;
- case "territory":
- standing.Territory = e.Value;
- break;
- case "march2011terr":
- standing.Territory = e.Value;
- break;
- case "weightedgrowth":
- standing.WeightedGrowth = e.Value;
- break;
- case "rank":
- standing.Rank = e.Value;
- break;
- case "tier":
- standing.Tier = e.Value;
- break;
- default:
- Console.WriteLine(e.LocalName);
- break;
- }
- }
- _standings.Add(standing);
- }
- }
- }
- int i = 0;
- foreach (var s in _standings)
- {
- Console.WriteLine(++i + ".) " + s.ToString());
- }
- Console.WriteLine("done");
- Console.ReadLine();
- }
- catch (Exception e)
- {
- var msg = e.GetBaseException().Message;
- Console.WriteLine(msg);
- }
- }
- }
- public class HerceptinStanding
- {
- public HerceptinStanding() { }
- [DisplayName("Name")]
- public string Name { get; set; }
- [DisplayName("Territory")]
- public string Territory { get; set; }
- [DisplayName("Weighted Growth")]
- public string WeightedGrowth { get; set; }
- [DisplayName("Rank")]
- public string Rank { get; set; }
- [DisplayName("Tier")]
- public string Tier { get; set; }
- public override string ToString()
- {
- return string.Format("{0}\t\t{1}\t{2}\t{3}\t{4}", Name, Territory, WeightedGrowth, Rank, Tier);
- }
- }
- }
Add Comment
Please, Sign In to add comment