2012-07-21 10 views
1

我想知道是否有任何解决方法(阅读:hacks)使用Google Spreadsheet API,但不会限制其中的值小写的标题行不含空格。 我知道我可以使用基于单元格的Feed,但是这会让我的应用程序开销不得不跟踪与特定列名称对应的列号。使用谷歌电子表格API而不在小写字母中添加标题行中的值并删除空格

有没有人有另一种方法?

(另外我注意到,Google Spreadsheet API Docs不作标题行名称限制的任何提及,我不得不四处搜寻,找出为什么我的代码最初没有工作)

+1

api不是简单地将标题值转换为单个单词小写吗?因此,如果您的电子表格中包含“我的标题”,则可以通过api将其作为“myheader”进行访问,即您的电子表格中可以包含没有此限制的值,并且仍然可以访问它。 – Marco 2012-07-22 23:02:01

回答

7

你不必实际上更改电子表格中的任何标题并弯曲一些限制。基本上,API将您的标题转换为“小写字母无空格”格式,您可以像这样访问它们。所以试图访问一个标题为“My Header”的列将通过查询列“myheader”来工作。原始电子表格中的标题保持不变并采用所需的格式。

2
#header_names = list of header names 
spreadclient = gdata.spreadsheets.client.SpreadsheetsClient(source='Your App Name') 

#Add a line to authenticate the spreadsheet client 

spreadsheet_key = spreadsheet.GetId().split("%3A")[1] 
worksheets = spreadclient.GetWorksheets(spreadsheet_key) 
#get worksheet id 
wsid = worksheets.entry[0].GetWorksheetId() 
#header row can only be accessed via cellfeed 
for i,name in enumerate(header_names): 
    cellentry= spreadclient.GetCell(spreadsheet_key, worksheet_id=wsid, row_num=1, col_num=1+i) 
    #update value 
    cellentry.cell.input_value = name #TODO: do batch update instead 
    spreadclient.update(cellentry) 
+0

@fordpw这适用于python。你需要gdata客户端库 – 2012-10-14 11:55:31

相关问题