2011-09-07 37 views
6

Tôi không thể chèn đầu trang (hoặc bất kỳ dữ liệu thông thường nào) vào trang tính mới được tạo thông qua API Java. Cách thông thường để chèn dữ liệu là cung cấp một tiêu đề và giá trị ví dụThêm tiêu đề qua API Bảng tính Google

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

này câu hỏi tương tự với trang này được đăng trên stackoverflow:

How to add header in Google spreadsheet

Câu trả lời gợi ý là để cố gắng di động sử dụng thức ăn dựa trái ngược với danh sách dựa trên ví dụ ở trên. Tôi đã không thể thực hiện điều này vì bất kỳ truy vấn nào trên các ô hoặc cố gắng lấy nguồn cấp dữ liệu di động dường như trả về 0 vì không có dữ liệu trong bất kỳ ô nào để trả lại ... ít nhất đây là những gì tôi nghĩ đang xảy ra ...

ví dụ

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

Trả lời

4

Nghi ngờ của bạn về các ô trống không trả về là chính xác. Bạn có thể ghi đè cài đặt mặc định này bằng cách thêm dòng sau:

query.setReturnEmpty(true);

Các vấn đề liên quan