java google电子表格获取单元格颜色

时间:2017-05-29 14:35:04

标签: java excel google-apps-script google-sheets

我正在使用Google表格API v4从我的谷歌硬盘中获取电子表格(excel)。在本教程https://developers.google.com/sheets/api/quickstart/java之后,我实现了我的第一个目标,即将所有数据作为Json检索到我的独立Java应用程序中。 它运作良好,我可以很好地保存到我的数据库中。 现在我还需要获取单元格颜色和单元格提示(如果存在)。但到目前为止,我一直在网上挣扎而没有任何成功。我需要在没有javascript的情况下完成它。 以下是我的代码: 我将所有值都放入称为值的数组数组中,但这里只检索单元格的值,也不检查背景颜色,也不检查单元格的提示。

        Sheets service = getSheetsService();    
        String spreadsheetId = "xxxx-xxxxx-xxxxxx-xxxxx";
        String range = "A1:ce604";

        service.spreadsheets().get(spreadsheetId);

        ValueRange response = service.spreadsheets().values().get(spreadsheetId, range).execute(); 

        List<List<Object>> values = response.getValues();

        spreedSheetService.stroreDatas(values);

有人知道是否可以这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用getBackground()返回范围内左上角单元格的背景颜色(即'#ffffff')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var cell = sheet.getRange("B5");
Logger.log(cell.getBackground());

getBackgrounds()返回范围内单元格的背景颜色(即'#ffffff')。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];

var range = sheet.getRange("B5:C6");
var bgColors = range.getBackgrounds();
for (var i in bgColors) {
  for (var j in bgColors[i]) {
    Logger.log(bgColors[i][j]);
  }
}

希望这有帮助!