1

我正在学习如何使用 Google 电子表格 API 从电子表格中获取信息并向他插入信息。

我从谷歌获得了一些基本的例子,但我想做一些更高级的事情。

我在电子表格中有 2 个列表,如下所示:

      A                     B    
1| WebsiteList1    |   WebsiteList2
2| www.google.com  |  www.blabla.com
3| www.yahoo.com   |  www.someWebsite.com
4| www.cnn.com     |  www.cantThinkOfAbother.com

我想根据列标题选择列表中的 1 个(WebsiteList1WebsiteList2)

我正在尝试更改此代码以执行此操作,但没有运气(不知道该怎么做):

public void GetAllWebSitesListFromWorkSheet(string spreadsheetName,string colmnTitle)
{
        WorksheetEntry entry = getWorkSheetByTitle(spreadsheetName);

        CellQuery myCellQuery = new CellQuery(entry.CellFeedLink);

        CellFeed cellFeed = service.Query(myCellQuery);

        foreach (CellEntry cell in cellFeed.Entries)
        {
            Console.WriteLine(cell.Value);
        }
    }

我需要在CellQuery对象中进行什么更改,以获取所有站点WebsiteList2

4

1 回答 1

2

好的,经过一段时间的折腾,我找到了一种只获得 1 列的方法!这是方法。

首先我们需要使用 ListFeed,这样我们才能得到完整的行。ListFeed 是代表电子表格上的行的集合。

ListFeed row;

row.elements 是表示行的单元格的集合。

所以这是获得 1 列的方法(基于问题中的电子表格):

public void GetWebsitesWithListFeed()
    {


        WorksheetEntry entry = //get your spreadsheet (expmples for this can be found
                              //in google docs api (link in the end of the answer)


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

        // Fetch the list feed of the worksheet.
        ListQuery listQuery = new ListQuery(listFeedLink.HRef.ToString());

        ListFeed listFeed = service.Query(listQuery);

        // Iterate through each row.
        foreach (ListEntry row in listFeed.Entries)
        {
            //go over each CELL in the row
            foreach (ListEntry.Custom element in row.Elements)
            {   
                //print only the CELLS that there father (xmlName) is "WebsiteList2"
                if (element.XmlName == "WebsiteList2")
                    Console.WriteLine(element.Value);
            }

        }

    }

有关获取电子表格和连接内容的信息,请转到此处

这只是我找到的一种方式,我想知道是否有人知道一种不同的方式来根据他的标题获得一个 colmn 基础。

(对不起我的英语不好)

于 2012-11-29T21:02:30.960 回答