2011-09-07 64 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);

相關問題