gpt4 book ai didi

java - 在谷歌表格中设置自定义列宽大小

转载 作者:行者123 更新时间:2023-11-30 02:27:37 25 4
gpt4 key购买 nike

我正在使用此 Java 代码从 Java 应用程序生成 Google 表格数据。

List < RowData > rowDataValues = new ArrayList < > ();

List < CellData > headerValues = new ArrayList < > ();
headerValues.add(new CellData().setNote("ID")
.setUserEnteredValue(new ExtendedValue()
.setStringValue("#")).setUserEnteredFormat(myFormat));
.setStringValue("Environment")).setUserEnteredFormat(myFormat));

.........

headerValues.add(new CellData()
.setUserEnteredValue(new ExtendedValue()
.setStringValue("Name")).setUserEnteredFormat(myFormat));
RowData setHeaderValues = new RowData();
setHeaderValues.setValues(headerValues);
rowDataValues.add(setHeaderValues);

requests.add(new Request()
.setUpdateCells(new UpdateCellsRequest()
.setStart(new GridCoordinate()
.setSheetId(randomSheetId)
.setRowIndex(0)
.setColumnIndex(0))
.setRows(rowDataValues)
.setFields("*")));

BatchUpdateSpreadsheetRequest body = new BatchUpdateSpreadsheetRequest().setRequests(requests);

BatchUpdateSpreadsheetResponse response = service.spreadsheets().batchUpdate(spreadsheetId, body).execute();

如何设置每列的自定义宽度?

更新:

这是我迄今为止尝试过的:

new UpdateDimensionPropertiesRequest().setRange(
new DimensionRange()
.setDimension("COLUMNS")
.setStartIndex(0).setEndIndex(1)
)
.setProperties(new DimensionProperties().setPixelSize(400)).setFields("pixelSize"));

最佳答案

您需要创建UpdateDimensionPropertiesRequest 。在您的情况下,您可以使用此示例代码,它会增加第一列 (startIndex = 0, endIndex = 1) 的大小。

requests.add(new Request().setUpdateDimensionProperties(
new UpdateDimensionPropertiesRequest()
.setRange(
new DimensionRange()
.setSheetId(randomSheetId)
.setDimension("COLUMNS")
.setStartIndex(0)
.setEndIndex(1)
)
.setProperties(new DimensionProperties().setPixelSize(400)).setFields("pixelSize"))));

在这里,我使用setDimension("COLUMNS")来更改列宽度,可以使用setDimension("ROWS")<来更改行高度.

<小时/>

来自 @PeterPenzov 's comment的其他问题:

I get "Invalid requests.updateDimensionProperties: No grid with id: 0",

如果您的sheetId设置不正确,您将会收到此错误。

来自 API v4 文档 SheetId是;

Individual sheets in a spreadsheet have titles (which must be unique) and IDs. The sheetId is used frequently in the Sheets API to specify which sheet is being read or updated

因此需要设置DimensionRange对象的sheetId。在您的情况下,您需要使用 sheetId 作为 randomSheetId(我已经更新了上面的代码)。

Spreadsheet spreadsheet = service.spreadsheets().get(spreadsheetId).execute();
spreadsheet.getSheets().stream()
.map(s->s.getProperties().getSheetId())
.forEach(System.out::println);

关于java - 在谷歌表格中设置自定义列宽大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45230873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com