我无法通过Java API将标头(或任何常规数据)插入到新创建的工作表中。插入数据的标准方法是提供标题和值,例如
newEntry.getCustomElements().setValueLocal(header, value2);
这个问题类似于在stackoverflow上发布的这个问题:
How to add header in Google spreadsheet
建议的答案是尝试使用基于单元格的Feed而不是基于上面示例中的列表。我无法做到这一点,因为对细胞的任何查询或尝试获取细胞饲料似乎都返回0,因为任何单元格中都没有数据要返回...至少这是我认为正在发生的事情......
e.g。
public void getCells(){
cellFeedUrl = worksheetEntry.getCellFeedUrl();
CellFeed feed;
try {
feed = spreadSheetService.getFeed(cellFeedUrl, CellFeed.class);
for (CellEntry cell : feed.getEntries()) {
System.out.println(worksheetEntry.getTitle().getPlainText());
String shortId = cell.getId().substring(cell.getId().lastIndexOf('/') + 1);
System.out.println(" -- Cell(" + shortId + "/" + cell.getTitle().getPlainText()
+ ") formula(" + cell.getCell().getInputValue() + ") numeric("
+ cell.getCell().getNumericValue() + ") value("
+ cell.getCell().getValue() + ")");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
and
public void queryHeader(){
CellQuery query = new CellQuery(cellFeedUrl);
query.setMinimumRow(1);
query.setMaximumRow(1);
query.setMinimumCol(1);
query.setMaximumCol(1);
try {
CellFeed feed = spreadSheetService.query(query, CellFeed.class);
List<CellEntry> entries = feed.getEntries();
for(CellEntry cell : entries){
cell.changeInputValueLocal("new");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
答案 0 :(得分:4)
您怀疑空单元格没有返回是正确的。您可以通过添加以下行来覆盖此默认设置:
query.setReturnEmpty(true);