我见过; 使用 Google Data API 使用 C# 访问 Google 电子表格
和
http://code.google.com/apis/spreadsheets/data/2.0/developers_guide_dotnet.html#CreatingRows
但是,我仍然无法在现有的谷歌电子表格中插入新行。有没有人有一个罐头示例,它将例如插入List<string>
到电子表格工作簿的新行中。
非常感谢,
我见过; 使用 Google Data API 使用 C# 访问 Google 电子表格
和
http://code.google.com/apis/spreadsheets/data/2.0/developers_guide_dotnet.html#CreatingRows
但是,我仍然无法在现有的谷歌电子表格中插入新行。有没有人有一个罐头示例,它将例如插入List<string>
到电子表格工作簿的新行中。
非常感谢,
使用 GDataDB http://github.com/mausch/GDataDB
GDataDB 提供了一种将 .net POCO 实体插入到 google 电子表格中的简单方法。
public void AddToGoogle()
{
var client = new DatabaseClient(Settings.Default.GmailAccount, Settings.Default.GmailPassword);
string dbName = Settings.Default.WorkBook;
var db = client.GetDatabase(dbName) ?? client.CreateDatabase(dbName);
string tableName = Settings.Default.WorkSheet;
var t = db.GetTable<ActivityLog>(tableName) ?? db.CreateTable<ActivityLog>(tableName);
var all = t.FindAll();
t.Add(this);
}
Google 的这项服务已停产,现在他们提出了另一项名为 Google.Apis.Sheets.v4 的服务。
所以上面的代码现在一天都行不通了,我已经试过了。
并找到对我有用的东西。
我写了一个博客并在那里分享了整个源代码。看看这个。
private static SheetsService AuthorizeGoogleApp()
{
UserCredential credential;
using (var stream =
new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
{
string credPath = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.Personal);
credPath = Path.Combine(credPath, ".credentials/sheets.googleapis.com-dotnet-quickstart.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,
});
return service;
}
对于整个源代码,请查看。使用 Google.Apis.Sheets.V4 服务向 Google 表格插入新行