如何使用C#更新Google电子表格中的特定行

时间:2013-01-20 19:18:23

标签: c# google-sheets

我想将列B更新为1列,其中A列的值为2。在SQL术语中,一个简单的

UPDATE SpreadSheet 
SET B = 1
WHERE A = 2 

这可以通过一次或两次调用Google文档来完成,而不必遍历行/列吗?

1 个答案:

答案 0 :(得分:2)

我无法使用BA,但无法在没有循环的情况下找到更新的方法。此示例使用列标题(第一行的值)。将idval替换为您自己的列。

WorksheetFeed wsFeed = spreadsheet.Worksheets;
WorksheetEntry worksheet = (WorksheetEntry)wsFeed.Entries[0];

// Define the URL to request the list feed of the worksheet.
AtomLink listFeedLink = worksheet.Links.FindService(GDataSpreadsheetsNameTable.ListRel, null);

// Fetch the list feed of the worksheet.
ListQuery listQuery = new ListQuery(listFeedLink.HRef.ToString());
listQuery.SpreadsheetQuery = "id = 2";
ListFeed listFeed = service.Query(listQuery);

var row = (ListEntry)listFeed.Entries[0];

foreach (ListEntry.Custom element in row.Elements)
{
    if (element.LocalName == "val")
    {
        element.Value = "1";
    }
}
row.Update();