我正在使用Python Google表格API,我想阅读单个单元格的颜色。我已经阅读了文档,但我只能找到有关如何从单元格中检索文本的信息,而不是颜色格式。
答案 0 :(得分:2)
您可以使用Method: spreadsheets.get获取特定单元格的颜色。
只需传递spreadsheetId
,并确保设置为 true includeGridData
参数。
例如,此图片指定范围B1。
通过使用此电子表格.get,您将获得"backgroundColor": {"green": 1}
的结果,而不仅仅是背景颜色,您还会看到fontFamily
,fontSize
以及是否是bold
,italic
,strikethrough
或underline
。
您可以通过创建电子表格来尝试,然后按照上图进行操作。
以下是我使用的请求。
GET https://sheets.googleapis.com/v4/spreadsheets/YOUR_SPREADSHEET_ID?includeGridData=true&ranges=B1&key={YOUR_API_KEY}
答案 1 :(得分:0)
使用java:
List<String> ranges = new ArrayList<>();
ranges.add("LinksToSearch!D2:D");
var request = sheetService.spreadsheets().get(SheetsID);
request.setRanges(ranges);
request.setIncludeGridData(true);
var response = request.execute();
System.out.println(response); //Look at the response
我没有找到任何关于如何使用给定的 google sheet API 方法解析它的资源,所以我将响应转换为 JSONObject 并自己将其解析为每行:(我只检查 1 列)
JSONArray jObj = new JSONArray(response.get("sheets").toString());
jObj = jObj.getJSONObject(0).getJSONArray("data").getJSONObject(0).getJSONArray("rowData");
System.out.println(jObj.toString()); //All rows as an object
for (int i = 0; i < jObj.length(); i++) {
System.out.println(
jObj.getJSONObject(i).getJSONArray("values").getJSONObject(0).getJSONObject("effectiveFormat").
getJSONObject("backgroundColor"));
}