【问题标题】:How to read the color of a cell in Google sheets如何在 Google 表格中读取单元格的颜色
【发布时间】:2017-02-01 14:14:10
【问题描述】:

我正在使用 Python Google Sheets API,我想读取单个单元格的颜色。我已阅读文档,但我只能找到有关如何从单元格中检索文本的信息,而不是颜色格式。

【问题讨论】:

标签: python google-sheets google-sheets-api


【解决方案1】:

您可以使用Method: spreadsheets.get 获取特定单元格的颜色。

只需传递spreadsheetId 并确保将includeGridData 参数设置为true

例如,这张图片指定范围 B1。

通过使用此电子表格.get,您将在此处获得"backgroundColor": {"green": 1} 的结果,不仅是背景颜色,您还将在此处获得fontFamilyfontSize,如果是bold、@ 987654330@、strikethroughunderline

您可以通过创建电子表格来尝试,然后按照上图进行操作。

这是我使用的请求。

GET https://sheets.googleapis.com/v4/spreadsheets/YOUR_SPREADSHEET_ID?includeGridData=true&ranges=B1&key={YOUR_API_KEY}

【讨论】:

    【解决方案2】:

    使用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"));
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多