在 Java 中格式化 Google Sheet 文本

Format Google Sheet text in Java

我正在使用 Google sheet API 版本 4 来写入传播sheet。它运行良好,但我需要格式化文本(粗体、下划线...),我似乎无法使用 Google Java API 找到任何方法来做到这一点客户.

我知道通过 GET 和 POST 向 http://sheets.googleapis.com 请求是可行的,但我已经使用 Java 客户端开发了它,我真的很感激不必构建所有内容再次.

有人对此有什么想法吗?

以防万一还不够清楚,我正在使用 Java Google Sheet 客户端

通过使用 CellData class 可以使用背景颜色、字体系列、大小和许多其他选项来格式化单元格。这是一个如何使用它的例子:

    CellData setUserEnteredValue = new CellData()
            .setUserEnteredValue(new ExtendedValue().setStringValue("example text"));

    CellFormat cellFormat = new CellFormat();
    cellFormat.setTextFormat(new TextFormat().setBold(true));

    setUserEnteredValue.setUserEnteredFormat(cellFormat);

这是 link 到 documentation

将顶行设为粗体:

    RepeatCellRequest repeatCellRequest = new RepeatCellRequest();
    CellData cellData = new CellData();
    CellFormat cellFormat = new CellFormat();
    TextFormat textFormat = new TextFormat();
    textFormat.setBold(true);
    cellFormat.setTextFormat(textFormat);
    cellData.setUserEnteredFormat(cellFormat);
    repeatCellRequest.setCell(cellData);
    repeatCellRequest.setFields("userEnteredFormat(textFormat)");
    GridRange gridRange = new GridRange();
    gridRange
        .setSheetId(0)
        .setStartRowIndex(0)
        .setEndRowIndex(1);
    repeatCellRequest.setRange(gridRange);
    List<Request> requests = new ArrayList<>();
    requests.add(new Request().setRepeatCell(repeatCellRequest));
    BatchUpdateSpreadsheetRequest body2 = new BatchUpdateSpreadsheetRequest().setRequests(requests);
    sheets.spreadsheets().batchUpdate(spreadsheetId, body2).execute();