2011-09-07 61 views
6

我无法通过Java API将标题(或任何常规数据)插入到新创建的工作表中。插入数据的标准方法是提供一个头和值,例如,通过Google电子表格API添加标题

newEntry.getCustomElements().setValueLocal(header, value2); 

这与此类似的贴在计算器问题:

How to add header in Google spreadsheet

建议的答案是尝试基于使用电池饲料而不是基于上例中的列表。我一直无法做到这一点,因为任何关于单元格的查询或尝试获取单元格Feed似乎都会返回0,因为任何单元格中都没有数据返回......至少这是我认为正在发生的事情...

eg

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

回答

4

您对空单元格未被返回的怀疑是正确的。您可以通过添加以下行覆盖此默认设置:

query.setReturnEmpty(true);

相关问题