Getting a merged cell width on Google Spreadsheet API

后端 未结 2 1294
小蘑菇
小蘑菇 2021-01-15 12:37

I\'m using the Google Spreadsheet API to convert a document containing workers shifts into event calendars. The only problem is that shifts are represented by merged cells a

相关标签:
2条回答
  • 2021-01-15 13:25

    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.

    0 讨论(0)
  • 2021-01-15 13:34

    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)

    0 讨论(0)
提交回复
热议问题