我正在学习如何使用Google电子表格API从电子表格中获取信息并向他插入信息。
我从谷歌的一些例子中得到了基本的东西,但我想做一些更先进的事情。
我在电子表格中有两个列表,如下所示:
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
我想根据列标题(WebsiteList1
或WebsiteList2
选择列表中的一个
我正在尝试更改此代码来执行此操作,但没有运气(不确定该怎么做):
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
下的所有网站?
答案 0 :(得分:2)
好的,经过一段时间的捣乱,我找到了一种方法只能得到1个colmn! 这是方法。
首先我们需要使用ListFeed,这样我们就可以得到完整的行。 ListFeed是一个代表电子表格中的行的集合。
ListFeed row;
row.elements是一个表示行的单元格的集合。
所以这是获得1个colmn的方法(基于问题中的电子表格):
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);
}
}
}
有关获取 SpreadSheet和连接内容的信息,请 HERE 。
这只是我发现的一种方式,我想知道somone是否知道一种不同的方式来获得他头上的colmn基础。
(对不起我的英文)