我正在使用 Google 电子表格 API 将包含工人轮班的文档转换为事件日历。唯一的问题是班次由合并的单元格根据天数和小时数表示(天数和小时数作为行,不同的工作槽作为列),当我读取某个合并并跨越 6 个单元格的单元格时,我不能获取单元格的特定宽度或其合并区域。
如果我尝试获取 (4C:4E) 之间的值,我将得到“Bob, , ”而不是“bob,bob,bob”,我什至无法找到知道“bob”占用多少个单元格的方法。
你们知道我怎么知道合并的一个扩散到多少个单元格?或者至少是总宽度。
提前致谢!
我正在使用 Google 电子表格 API 将包含工人轮班的文档转换为事件日历。唯一的问题是班次由合并的单元格根据天数和小时数表示(天数和小时数作为行,不同的工作槽作为列),当我读取某个合并并跨越 6 个单元格的单元格时,我不能获取单元格的特定宽度或其合并区域。
如果我尝试获取 (4C:4E) 之间的值,我将得到“Bob, , ”而不是“bob,bob,bob”,我什至无法找到知道“bob”占用多少个单元格的方法。
你们知道我怎么知道合并的一个扩散到多少个单元格?或者至少是总宽度。
提前致谢!
从谷歌驱动器下载为 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 让我印象深刻)
这是不可能通过电子表格 API 实现的。我一直在寻找相同的。谷歌在他们的文档中也承认了这 一点。
单元格元素的字面值是单元格的计算值,未应用格式。如果单元格包含公式,则在此处给出计算值。电子表格 API 没有格式的概念,因此无法操作单元格的格式。
相关问题: 使用其 API 和 Python 在 Google 表格电子表格中设置单元格格式
另一种方法是以编程方式下载 excel 格式的文档。它将包含格式信息。然后使用 excel API 提取信息。