如何在spreadsheets.values.get接口中组合配置多个valueRenderOptions参数
核心结论
Google Sheets API 的 valueRenderOption 为单值枚举类型参数,原生不支持同时指定 *FORMULA* 和 *UNFORMATTED_VALUE* 两个选项,你可以通过以下两种方案实现需求:
方案1:两次调用
spreadsheets.values.get接口合并结果
分别发起两次请求,分别传入不同的valueRenderOption取值,两类返回结果的行列索引完全对应,按索引自行合并即可同时拿到公式和无格式原始值:
取公式请求示例:GET https://sheets.googleapis.com/v4/spreadsheets/{SPREADSHEET_ID}/values/{RANGE}?valueRenderOption=FORMULA取无格式值请求示例:
GET https://sheets.googleapis.com/v4/spreadsheets/{SPREADSHEET_ID}/values/{RANGE}?valueRenderOption=UNFORMATTED_VALUE方案2:单次调用
spreadsheets.get接口拉取全量所需字段
调用该接口时通过fields参数指定同时拉取单元格的两类字段,无需发起多次请求:userEnteredFormula字段对应FORMULA模式返回的未计算原始公式userEnteredValue字段对应UNFORMATTED_VALUE模式返回的无格式原始值(含未转义的字符串)
请求示例:
GET https://sheets.googleapis.com/v4/spreadsheets/{SPREADSHEET_ID}?ranges={RANGE}&fields=sheets.data.rowData.values.userEnteredValue,sheets.data.rowData.values.userEnteredFormula
以上两种方案均可实现你需要的「字符串保留转义格式、公式不被解析计算」的效果。
内容的提问来源于stack exchange,提问作者mikey
相关产品推荐
相关产品推荐

