使用Google Java API设置单元格背景颜色和文本大小

Pet*_*zov 11 java google-sheets google-spreadsheet-api

我想设置电子表格单元格背景颜色和文本大小.我使用这个Java代码将文本设置为单元格,但我找不到如何设置样式的解决方案.

CellData setUserEnteredValue = new CellData()
            .setUserEnteredValue(new ExtendedValue()
                .setStringValue("cell text"));
Run Code Online (Sandbox Code Playgroud)

有什么解决方案吗?

小智 5

我不得不经历很多无用的答案,但这对我有用。干得好:

requests.add(new Request()
                .setRepeatCell(new RepeatCellRequest()
                        .setCell(new CellData()
                                .setUserEnteredValue( new ExtendedValue().setStringValue("cell text"))
                                .setUserEnteredFormat(new CellFormat()
                                        .setBackgroundColor(new Color()
                                                .setRed(Float.valueOf("1"))
                                                .setGreen(Float.valueOf("0"))
                                                .setBlue(Float.valueOf("0"))
                                        )
                                        .setTextFormat(new TextFormat()
                                                .setFontSize(15)
                                                .setBold(Boolean.TRUE)
                                        )
                                )
                        )
                        .setRange(new GridRange()
                                .setSheetId(sheetID)
                                .setStartRowIndex(1)
                                .setEndRowIndex(0)
                                .setStartColumnIndex(0)
                                .setEndColumnIndex(1)
                        )
                        .setFields("*")
                )
        );
Run Code Online (Sandbox Code Playgroud)


Jay*_*mon 4

AFAIK 这在 Java Spreadsheet API 中是不可能的,您必须使用 Apps 脚本; https://developers.google.com/apps-script/reference/spreadsheet/

从他们的文档中,如何设置背景

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

var range = sheet.getRange("B2:D5");
range.setBackground("red");
Run Code Online (Sandbox Code Playgroud)

以及如何设置字体大小

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

var cell = sheet.getRange("B2");
cell.setFontSize(20);
Run Code Online (Sandbox Code Playgroud)

更新 请参阅下面 flo5783 的答案,v4 现在提供了执行此操作的功能。