2

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

例如: 一只忙碌的猫

如果我尝试获取 (4C:4E) 之间的值,我将得到“Bob, , ”而不是“bob,bob,bob”,我什至无法找到知道“bob”占用多少个单元格的方法。

你们知道我怎么知道合并的一个扩散到多少个单元格?或者至少是总宽度。

提前致谢!

4

2 回答 2

1

从谷歌驱动器下载为 html,请参阅: 从谷歌电子表格中获取字体样式信息到 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 让我印象深刻)

于 2013-02-26T00:53:11.600 回答
0

这是不可能通过电子表格 API 实现的。我一直在寻找相同的。谷歌在他们的文档中也承认了这 一点。

单元格元素的字面值是单元格的计算值,未应用格式。如果单元格包含公式,则在此处给出计算值。电子表格 API 没有格式的概念,因此无法操作单元格的格式。

相关问题: 使用其 API 和 Python 在 Google 表格电子表格中设置单元格格式

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

于 2013-08-27T13:54:30.940 回答