java - son - Agregar encabezado a través de la API de la hoja de cálculo de Google
promedio en hoja de calculo google (1)
No puedo insertar un encabezado (o cualquier información normal) en una hoja de trabajo recién creada a través de la API de Java. La forma estándar de insertar datos es proporcionar un encabezado y un valor, por ejemplo
newEntry.getCustomElements().setValueLocal(header, value2);
Esta pregunta similar a esta publicada en stackoverflow:
Cómo agregar encabezado en la hoja de cálculo de Google
La respuesta sugerida era intentar usar la alimentación basada en células en lugar de la lista basada en el ejemplo anterior. No he podido hacer esto, ya que cualquier consulta sobre celdas o intentos de obtener el feed de celda parece devolver 0 ya que no hay datos en ninguna celda para devolver ... al menos esto es lo que creo que está sucediendo ...
p.ej
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();
}
}
Su sospecha de que las celdas vacías no son devueltas es correcta. Puede anular esta configuración predeterminada agregando la siguiente línea:
query.setReturnEmpty(true);