Je vais avoir quelques informations dans Google Spreadsheets comme une seule feuille. Y a-t-il un moyen par lequel je peux lire ces informations de .NET en fournissant les informations d’identification de google et adresse de la feuille de calcul. Est-ce possible avec Google Data API. En fin de compte, j’ai besoin d’obtenir les informations de Google spreadsheet dans un DataTable. Comment puis-je faire ? Si quelqu'un a essayé il, pls partager quelques informations.
Réponses
Trop de publicités?Selon l' .NET guide de l'utilisateur:
Télécharger l' .NET client de la bibliothèque:
Ajouter ces instructions d'utilisation:
using Google.GData.Client;
using Google.GData.Extensions;
using Google.GData.Spreadsheets;
Authentifier:
SpreadsheetsService myService = new SpreadsheetsService("exampleCo-exampleApp-1");
myService.setUserCredentials("jo@gmail.com", "mypassword");
Obtenir une liste de feuilles de calcul:
SpreadsheetQuery query = new SpreadsheetQuery();
SpreadsheetFeed feed = service.Query(query);
Console.WriteLine("Your spreadsheets:");
foreach (SpreadsheetEntry entry in feed.Entries)
{
Console.WriteLine(entry.Title.Text);
}
Étant donné un SpreadsheetEntry vous avez déjà récupéré, vous pouvez obtenir une liste de toutes les feuilles de calcul dans cette feuille de calcul comme suit:
AtomLink link = entry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);
WorksheetQuery query = new WorksheetQuery(link.HRef.ToString());
WorksheetFeed feed = service.Query(query);
foreach (WorksheetEntry worksheet in feed.Entries)
{
Console.WriteLine(worksheet.Title.Text);
}
Et obtenez une cellule de flux:
AtomLink cellFeedLink = worksheetentry.Links.FindService(GDataSpreadsheetsNameTable.CellRel, null);
CellQuery query = new CellQuery(cellFeedLink.HRef.ToString());
CellFeed feed = service.Query(query);
Console.WriteLine("Cells in this worksheet:");
foreach (CellEntry curCell in feed.Entries)
{
Console.WriteLine("Row {0}, column {1}: {2}", curCell.Cell.Row,
curCell.Cell.Column, curCell.Cell.Value);
}
J'ai écrit un simple wrapper autour de Google .Net client de la bibliothèque, il expose une simple base de données comme interface, avec fortement typées types d'enregistrement. Voici un exemple de code:
public class Entity {
public int IntProp { get; set; }
public string StringProp { get; set; }
}
var e1 = new Entity { IntProp = 2 };
var e2 = new Entity { StringProp = "hello" };
var client = new DatabaseClient("you@gmail.com", "password");
const string dbName = "IntegrationTests";
Console.WriteLine("Opening or creating database");
db = client.GetDatabase(dbName) ?? client.CreateDatabase(dbName); // databases are spreadsheets
const string tableName = "IntegrationTests";
Console.WriteLine("Opening or creating table");
table = db.GetTable<Entity>(tableName) ?? db.CreateTable<Entity>(tableName); // tables are worksheets
table.DeleteAll();
table.Add(e1);
table.Add(e2);
var r1 = table.Get(1);
Il y a également un fournisseur LINQ, qui se traduit par google structuré opérateurs de requête:
var q = from r in table.AsQueryable()
where r.IntProp > -1000 && r.StringProp == "hello"
orderby r.IntProp
select r;
Vous pouvez faire ce que vous demandez de plusieurs façons:
À l'aide de Google feuille de calcul en C# de la bibliothèque (comme dans Tacoman667 de réponse) pour aller chercher un ListFeed qui peut retourner une liste de lignes (ListEntry dans Google langage) dont chacune a une liste de paires nom-valeur. La feuille de calcul Google API (http://code.google.com/apis/spreadsheets/code.htmlla documentation a plus qu'assez d'informations pour vous aider à démarrer.
Utilisez le Google visualisation de l'API qui vous permet de soumettre plus sophistiqué (un peu comme le SQL des requêtes pour récupérer uniquement les lignes/colonnes dont vous avez besoin.
La feuille de calcul contenu est renvoyé comme Atom de sorte que vous pouvez utiliser XPath ou SAX analyse pour extraire le contenu d'une liste de flux. Il est un exemple de cette façon de faire (en Java et Javascript, mais j'ai peur) http://gqlx.twyst.co.za.
http://code.google.com/apis/gdata/Articles/dotnet_client_lib.html
Cela devrait vous aider à démarrer. Je n’ai pas joué avec elle ces derniers temps, mais tout à l’heure, j’ai téléchargé une version très ancienne et il semblait assez solide. Celui-ci est mis à jour pour Visual Studio 2008 comme bien afin de vérifier les docs !
Je suis sûr qu’il y aura quelques kits de développement logiciel c# / toolkits sur Google Code pour cela. J’ai trouvé celui-ci, mais il peut y avoir d’autres donc il est utile d’avoir une navigation autour.