如何在Google SpreadSheet中列出工作表的名称?我试图找到使用DataFilters存在工作表
这是我的功能
public bool RangeExists(string sheet, string range)
{
BatchGetValuesByDataFilterRequest r = new BatchGetValuesByDataFilterRequest();
DataFilter filter = new DataFilter();
filter.A1Range = range;
r.DataFilters = new List<DataFilter>() { filter };
var a = service.Spreadsheets.Values.BatchGetByDataFilter(r, sheet).Execute();
return a.ValueRange.Count>0;
}
当我尝试查找我的电子表格是否有一张名为“Sheet”的工作表时,此代码会抛出此异常:
Google.Apis.Requests.RequestError
Invalid dataFilter[0]: Unable to parse range: Sheet!A:ZZ [400]
Errors [
Message[Invalid dataFilter[0]: Unable to parse range: Sheet!A:ZZ] Location[ - ] Reason[badRequest] Domain[global]
]
谢谢。
答案 0 :(得分:0)
如果您选中REST Resource: spreadsheets,您会发现有一个工作表属性可以显示电子表格中的所有工作表。
"sheets": [
{
object(Sheet)
}
]
所以,你可以做的是打电话给spreadsheets.get。这将返回您正在寻找的工作表对象。您可以使用该链接中的Try-it并在“fields”参数中指示“*”以返回所有属性(包括工作表)。