在Google Spreadsheet API上获取合并的单元格宽度

时间:2012-07-22 10:15:46

标签: api spreadsheet cells

我正在使用Google Spreadsheet API将包含工作人员的文档转换为事件日历。 唯一的问题是轮班由合并的单元格根据天和小时(以天和小时为行,不同的工作槽为cols)表示,当我读取某个单元格,合并并跨越6个单元格时,我不能获取单元格的某个宽度或其合并区域。

例如: a busy cat http://s18.postimage.org/hg9sik5yv/doc.png

如果我试图获得(4C:4E)之间的值,我会得到“Bob ,,,”而不是“bob,bob,bob”,我甚至找不到知道有多少单元格“bob”的方法取。

你们知道我怎么知道合并后的细胞传播了多少个?或者至少是它的总宽度。

提前致谢!

2 个答案:

答案 0 :(得分:1)

从谷歌驱动器下载为html,请参阅: 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使用Jsoup - (Jsoup给我留下深刻印象)

答案 1 :(得分:0)

通过电子表格API无法实现。我一直在寻找相同的东西。谷歌在他们的documentation中也承认了这一点。

  

单元格元素的文字值是计算出的值   单元格,未应用格式。如果单元格包含公式,则   计算值在这里给出。 Spreadsheets API没有概念   格式化,因此无法操纵单元格的格式。

相关问题: Set cell format in Google Sheets spreadsheet using its API & Python

另一种方法是以编程方式下载excel格式的doc。它将包含格式信息。然后使用excel API提取信息。