在Android中使用Sheets API,我如何才能找到电子表格中的所有工作表?在API文档中看不到任何直接的内容,但也许有一个聪明的WA来获取这些。
举例说明,在下面的例子中,我想得到5个工作表的5个标签:
[编辑]后续问题(感谢Trevor),展示了我(缺乏)Java技能:
所以这样我就可以获得第一张工作表的标题:
Spreadsheet responseSpreadSheet = this.mService.spreadsheets().get(sheetsID).execute();
String First_Sheet_Title = responseSpreadSheet.getSheets().get(0).getProperties().getTitle();
出于好奇,为什么这种方法不起作用?它不允许我在单个工作表上应用'getProperties'方法,我假设从'get(0)返回。我确定这是我缺少的一些基本的Java东西:
List responseSheets = responseSpreadSheet.getSheets();
String First_Sheet_Title = responseSheets.get(0).getProperties().getTitle();
此外,是否有一种简单的方法可以将所有工作表名称放在一行中?现在我计划迭代从getSheets返回的列表/数组,有没有办法直接在其上应用'getTitle'来获取工作表名称列表? (希望这个问题有点意义)
答案 0 :(得分:0)
在API文档中,它显示当您GET a Spreadsheet时,响应正文将包含电子表格的实例。
Spreadsheet包含数组工作表,它们是电子表格中的所有工作表
{
"spreadsheetId": string,
"properties": {
object(SpreadsheetProperties)
},
"sheets": [
{
object(Sheet)
}
],
"namedRanges": [
{
object(NamedRange)
}
],
"spreadsheetUrl": string,
}
每个Sheet都有一个 SheetProperties 对象:
{
"properties": {
object(SheetProperties)
},
"data": [
{
object(GridData)
}
],
"merges": [
{
object(GridRange)
}
],
"conditionalFormats": [
{
object(ConditionalFormatRule)
}
],
"filterViews": [
{
object(FilterView)
}
],
"protectedRanges": [
{
object(ProtectedRange)
}
],
"basicFilter": {
object(BasicFilter)
},
"charts": [
{
object(EmbeddedChart)
}
],
"bandedRanges": [
{
object(BandedRange)
}
],
}
SheetProperties对象包含标题字段,这是您要查找的标签:
{
"sheetId": number,
"title": string,
"index": number,
"sheetType": enum(SheetType),
"gridProperties": {
object(GridProperties)
},
"hidden": boolean,
"tabColor": {
object(Color)
},
"rightToLeft": boolean,
}