Getting a merged cell width on Google Spreadsheet API

陌路散爱 提交于 2019-12-01 11:17:37
Ankush

It's not possible via spreadsheet API. I was looking for same. Google admits the same in their documentation.

The literal value of the cell element is the calculated value of the cell, without formatting applied. If the cell contains a formula, the calculated value is given here. The Spreadsheets API has no concept of formatting, and thus cannot manipulate formatting of cells.

Related question: Set cell format in Google Sheets spreadsheet using its API & Python

One alternate way can be to download the doc in excel format programmatically. It will contain formatting information. Then using excel API to extract the info.

eddyparkinson

Download from google drive as html, see: Get FontStyle information from Google spreadsheet into appengine

    Drive driveService = new Drive.Builder(TRANSPORT, JSON_FACTORY, credential).build();
    File file = driveService.files().get(this.spreadsheetKey).execute();
    String downloadUrl = file.getExportLinks().get("application/pdf");
    downloadUrl = downloadUrl.replaceFirst("exportFormat=pdf", "exportFormat=html");
    downloadUrl = appendWorksheetGid(downloadUrl); // adds "&gid="+sheetGid
    HttpResponse resp =
            driveService.getRequestFactory().buildGetRequest(new GenericUrl(downloadUrl))
                .execute();
    System.out.println("downloadUrl:"+downloadUrl);

    InputStream fileContent = resp.getContent();
    extractStyleFromHtml(fileContent,downloadUrl);

extractStyleFromHtml uses Jsoup - (Jsoup impressed me)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!