我正在使用Google Spreadsheet API将包含工作人员的文档转换为事件日历。 唯一的问题是轮班由合并的单元格根据天和小时(以天和小时为行,不同的工作槽为cols)表示,当我读取某个单元格,合并并跨越6个单元格时,我不能获取单元格的某个宽度或其合并区域。
例如: a busy cat http://s18.postimage.org/hg9sik5yv/doc.png
如果我试图获得(4C:4E)之间的值,我会得到“Bob ,,,”而不是“bob,bob,bob”,我甚至找不到知道有多少单元格“bob”的方法取。
你们知道我怎么知道合并后的细胞传播了多少个?或者至少是它的总宽度。
提前致谢!
答案 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提取信息。