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)
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 现在提供了执行此操作的功能。