使用Java API在Google表格中设置单元格大小

时间:2017-04-26 06:33:06

标签: java google-sheets google-spreadsheet-api

如何在Google表格API中设置单元格大小?

我尝试设置自定义格式,但我找不到任何对大小有用的内容。

CellFormat myFormat = new CellFormat();
            myFormat.setBackgroundColor(new Color()
                .setRed(Float.valueOf("2"))
                .setGreen(Float.valueOf("1"))
                .setBlue(Float.valueOf("0.2"))); // red background
            myFormat.setTextFormat(new TextFormat()
                .setFontSize(15)
                .setBold(Boolean.TRUE));

4 个答案:

答案 0 :(得分:2)

如果您要设置单元格大小,请尝试阅读:

setColumnWidth(columnPosition, width)

  

设置给定列的宽度(以像素为单位)。

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

 // Sets the first column to a width of 200 pixels
 sheet.setColumnWidth(1, 200);

setRowHeight(rowPosition, height)

  

设置给定行的行高(以像素为单位)。

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

 // Sets the first row to a height of 200 pixels
 sheet.setRowHeight(1, 200);

以下是使用Google Sheet API设置列宽或行高的链接。

更新

setPixelSize

  
      
  • 尺寸的高度(如果是行)或宽度(如果是列)。(
  • )   

Google Sheets API Javadoc documentation,肯定会帮助您熟悉Java中的Google Sheet API。

希望这有帮助。

答案 1 :(得分:1)

您可以通过对此API的JSON请求更改列的大小,如以下链接所示: https://developers.google.com/sheets/api/samples/rowcolumn

然后发送这样的请求

JSONObject json = new JSONObject(); json.put("someKey", "someValue"); 
CloseableHttpClient httpClient = HttpClientBuilder.create().build(); 
try { 
    HttpPost request = new HttpPost("yoururl"); 
    StringEntity params = new StringEntity(json.toString());           
    request.addHeader("content-type", "application/json"); 
    request.setEntity(params); httpClient.execute(request);    //handle response here...
 } 
catch (Exception ex) { // handle exception here } 
finally { httpClient.close(); }

答案 2 :(得分:1)

这是我用来调整列的大小。希望它有所帮助:

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

答案 3 :(得分:0)

据我所知,这是不可能的,因为行和列将其大小调整为最大的单元格。 另一种方法是将所有单元格设置为固定大小,例如10x10,然后将它们合并在一起以获得所需的结果。