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

如何获取Google Sheets指定区域内的全部信息(含文本与样式)

获取Google Sheets单元格样式与行列尺寸的方法

values().get()确实只能拿到单元格的数值内容,样式、行列尺寸这类格式信息得用spreadsheets.get接口来获取——这是Google Sheets API专门用来读取表格完整元数据的接口。

核心实现思路

这个接口允许你指定要获取的资源字段,避免返回冗余数据。必须设置includeGridData=true来触发单元格格式信息的返回,同时可以通过fields参数精准筛选你需要的内容(比如行列元数据、单元格格式、值等)。

Python代码示例

from googleapiclient.discovery import build
from google.oauth2.service_account import Credentials

# 初始化认证(需提前准备服务账号密钥文件)
SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']
CREDS = Credentials.from_service_account_file('your-service-account-key.json', scopes=SCOPES)
sheets_service = build('sheets', 'v4', credentials=CREDS)

SHEET_ID = '你的表格ID'
SHEET_RANGE = 'Sheet1!A1:C5'  # 目标区域

# 调用接口获取包含格式的完整数据
response = sheets_service.spreadsheets().get(
    spreadsheetId=SHEET_ID,
    ranges=[SHEET_RANGE],
    includeGridData=True,
    fields='sheets(data(rowData(values(userEnteredFormat,formattedValue))),rowMetadata,columnMetadata)'
).execute()

# 解析单元格样式与值
sheet = response['sheets'][0]
grid_data = sheet['data'][0]

for row_idx, row in enumerate(grid_data['rowData']):
    for col_idx, cell in enumerate(row.get('values', [])):
        cell_value = cell.get('formattedValue')
        # 提取背景色
        bg_color = cell['userEnteredFormat'].get('backgroundColor', {})
        # 提取字号
        font_size = cell['userEnteredFormat']['textFormat'].get('fontSize')
        print(f"单元格({row_idx+1},{col_idx+1}): 值={cell_value}, 背景色={bg_color}, 字号={font_size}")

# 提取行高
for idx, row_meta in enumerate(sheet['rowMetadata']):
    print(f"第{idx+1}行高度: {row_meta.get('height')}")

# 提取列宽
for idx, col_meta in enumerate(sheet['columnMetadata']):
    print(f"第{chr(65+idx)}列宽度: {col_meta.get('width')}")

关键参数说明

  • ranges:指定目标区域,格式和values().get()的range一致。
  • includeGridData=true:必须开启这个参数,否则无法获取单元格格式数据。
  • fields:用来过滤返回字段,减少数据传输量。示例中指定的字段分别对应:
    • 单元格的格式化值与自定义格式
    • 行的元数据(含行高)
    • 列的元数据(含列宽)

注意事项

  • 可以根据需求进一步缩小fields范围,比如只取backgroundColor或fontSize,提升请求速度。
  • 确保服务账号已被添加到目标表格的共享列表中,拥有读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 03:57:16