如何获得CellEntry
给定特定的单元格地址,例如A1
表示法。例如,
String address = "A1";
CellEntry cellEntry = getCellEntry(address);
public CellEntry getCellEntry(String address){
//- What can I do inside here
}
以前,我使用CellFeed
获取所有内容,并使用cellFeed.getEntries
进行迭代以获取每个CellEntry并根据单元格地址过滤掉。但我认为,由于我的电子表格很大,因此会出现性能问题。任何的想法 ?我使用的是Java。
答案 0 :(得分:0)
我想我有两种方法:
方法1
使用CellQuery
public CellEntry getCellEntry(URL cellFeedUrl, Integer colNum, Integer rowNum){
CellQuery cellQuery = new CellQuery(cellFeedUrl);
cellQuery.setMaximumCol(colNum);
cellQuery.setMinimumCol(colNum);
cellQuery.setMaximumRow(rowNum);
cellQuery.setMinimumRow(rowNum);
CellFeed cellFeed = service.getFeed(cellQuery, CellFeed.class)
return cellFeed.getEntries().get(0);
}
注意:setMaximumCol
和setMinimumCol
必须相同才能获得指定的列。与setMaximumRow
和setMinimumRow
类似。
方法2
使用CellFeedURL
public CellEntry getCellEntry(WorksheetEntry worksheet, Integer colNum, Integer rowNum){
if (colNum == null || rowNum == null){
//- do something
}
else {
String row = "?min-row=" + rowNum + "&max-row=" + rowNum;
String col = "&min-col=" + colNum + "&max-col=" + colNum;
URL cellFeedUrl = new URI(worksheet.getCellFeedUrl().toString()
+ row + col).toURL();
CellFeed cellFeed = service.getFeed(cellFeedUrl, CellFeed.class);
return cellFeed.getEntries().get(0);
}
}
注意:基于Google Spreadsheet API : Changing content of a cell
我个人认为第二种方法更好。