You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C#获取Google Spreadsheet中的工作表(标签页)数量

遍历Google Spreadsheet动态工作表并提取数据的解决方案

要获取Spreadsheet中所有动态工作表的信息,你需要调整请求的Fields参数,让API返回工作表的核心属性(如标题、ID),而不是仅请求namedRanges。

修改后的代码示例

SpreadsheetsResource.GetRequest request = service.Spreadsheets.Get(spreadsheetId);
// 指定返回工作表的标题和ID属性,可根据需求添加其他字段
request.Fields = "sheets(properties(title, sheetId))";
var response = request.Execute();

// 遍历所有工作表
foreach (var sheet in response.Sheets)
{
    string sheetTitle = sheet.Properties.Title;
    int sheetId = sheet.Properties.SheetId.Value;
    
    // 这里可以添加逻辑,用获取到的sheetId提取对应工作表的数据
    Console.WriteLine($"工作表标题:{sheetTitle},ID:{sheetId}");
}

关键说明

  • Fields参数优化:通过精确指定sheets(properties(title, sheetId)),只获取你需要的工作表属性,减少API返回的数据量,提升请求效率。如果需要更多工作表信息(如行列数量),可以扩展字段,比如sheets(properties(title, sheetId, gridProperties(rowCount, columnCount)))。
  • 动态遍历工作表:response.Sheets包含了Spreadsheet中所有的工作表对象,通过遍历这个集合,就能动态获取每个工作表的ID和标题,无需预先知道工作表数量。
  • 后续数据提取:拿到sheetId后,你可以使用SpreadsheetsResource.ValuesResource.GetRequest来请求对应工作表的数据,例如:
    var valuesRequest = service.Spreadsheets.Values.Get(spreadsheetId, $"Sheet{sheetId}!A1:Z");
    var valuesResponse = valuesRequest.Execute();
    // 处理提取到的数据
    

内容的提问来源于stack exchange,提问作者Mohammad Rawwaqah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:16:08