Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Google电子表格API上获取合并单元格宽度_Api_Cell_Spreadsheet - Fatal编程技术网

在Google电子表格API上获取合并单元格宽度

在Google电子表格API上获取合并单元格宽度,api,cell,spreadsheet,Api,Cell,Spreadsheet,我正在使用Google电子表格API将包含工人轮班的文档转换为事件日历。 唯一的问题是,班次是由按天和小时合并的单元格表示的(天和小时为行,不同的工作槽为列),当我读取某个单元格时,该单元格合并并跨越6个单元格,我无法获取单元格的特定宽度或其合并区域 例如: 如果我试图得到(4C:4E)之间的值,我会得到“Bob,,”而不是“Bob,Bob,Bob”,我甚至找不到一种方法来知道“Bob”取多少个单元格 你们知道我怎么知道合并后的细胞扩散到了多少个细胞吗?或者至少是总宽度 提前谢谢 以html格

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

例如:

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

你们知道我怎么知道合并后的细胞扩散到了多少个细胞吗?或者至少是总宽度


提前谢谢

以html格式从google drive下载,请参阅:


extractStyleFromHtml使用Jsoup-(Jsoup打动了我)

这不可能通过电子表格API实现。我也在找同样的。谷歌也承认这一点

cell元素的文字值是 单元格,不应用格式。如果单元格包含公式,则 这里给出了计算值。电子表格API没有 格式设置,因此无法操作单元格的格式设置

相关问题:

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

    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);