Java GoogleSheetsAPI-如何在表格顶部添加新行?(Android)
在我的Android应用程序中,我想在google sheets表的顶部添加一行(包含新的食品订单信息)。从文档中可以看出,我似乎只能追加到表的底部。但我确实需要从顶部追加新行,我怀疑这是不可能的。Java GoogleSheetsAPI-如何在表格顶部添加新行?(Android),java,android,google-sheets-api,Java,Android,Google Sheets Api,在我的Android应用程序中,我想在google sheets表的顶部添加一行(包含新的食品订单信息)。从文档中可以看出,我似乎只能追加到表的底部。但我确实需要从顶部追加新行,我怀疑这是不可能的。 我能够使用以下代码将行追加到底部: String ORDER_SHEET_ID = "<my speardsheet id here>"; String ORDERS_RANGE_DINING = "DiningOrders!C5:I"; //...
我能够使用以下代码将行追加到底部:
String ORDER_SHEET_ID = "<my speardsheet id here>";
String ORDERS_RANGE_DINING = "DiningOrders!C5:I";
//...
this.mService.spreadsheets().values().append(ORDER_SHEET_ID,ORDERS_RANGE_DINING, body)
.setValueInputOption("RAW").setInsertDataOption("INSERT_ROWS").execute();
String ORDER_SHEET_ID=”“;
String ORDERS\u RANGE\u dinging=“DiningOrders!C5:I”;
//...
this.mService.spreadsheets().values().append(订单工作表ID、订单范围、正文)
.setValueInputOption(“原始”).setInsertDataOption(“插入行”).execute();
是否可以将该行附加到表的顶部?怎么用?谢谢 你可以参考这个
如果您需要在顶部(第一行)添加新行并复制
从第一行开始复制公式,然后需要复制公式
使用getFormulas()
和setFormulas()
函数。你可以
如果电子表格有标题,请将第一行的值更改为2
比如说
function addFirstRow() {
var firstRow = 1;
var sh = ss.getActiveSheet();
var lCol = sh.getLastColumn();
var range = sh.getRange(firstRow, 1, 1, lCol);
var formulas = range.getFormulas();
sh.insertRowsAfter(1, 1);
newRange = sh.getRange(firstRow, 1, 1, lCol);
newRange.setFormulas(formulas);
}
您也可以检查此线程:您可以参考此线程
如果您需要在顶部(第一行)添加新行并复制
从第一行开始复制公式,然后需要复制公式
使用getFormulas()
和setFormulas()
函数。你可以
如果电子表格有标题,请将第一行的值更改为2
比如说
function addFirstRow() {
var firstRow = 1;
var sh = ss.getActiveSheet();
var lCol = sh.getLastColumn();
var range = sh.getRange(firstRow, 1, 1, lCol);
var formulas = range.getFormulas();
sh.insertRowsAfter(1, 1);
newRange = sh.getRange(firstRow, 1, 1, lCol);
newRange.setFormulas(formulas);
}
您也可以检查此线程:这是我用来插入新行的内容。它创建行并使用粘贴命令设置数据,这样我就可以在一次HTTP往返中完成所有操作。或者,如果需要,可以使用第二个请求更新数据。我不确定粘贴命令是否可以插入行,但这是可行的
InsertDimensionRequest insertRow = new InsertDimensionRequest();
insertRow.setRange(new DimensionRange().setDimension("ROWS").setStartIndex(0).setEndIndex(1).setSheetId(sheetId));
PasteDataRequest data = new PasteDataRequest().setData("Data").setDelimiter("\t")
.setCoordinate(new GridCoordinate().setColumnIndex(0).setRowIndex(0).setSheetId(sheetId));
BatchUpdateSpreadsheetRequest r = new BatchUpdateSpreadsheetRequest().setRequests(Arrays.asList(
new Request().setInsertDimension(insertRow),
new Request().setPasteData(data)
));
BatchUpdateSpreadsheetResponse response = this.mService.spreadsheets().batchUpdate(SHEET_ID, r).execute();
这是我用来插入新行的。它创建行并使用粘贴命令设置数据,这样我就可以在一次HTTP往返中完成所有操作。或者,如果需要,可以使用第二个请求更新数据。我不确定粘贴命令是否可以插入行,但这是可行的
InsertDimensionRequest insertRow = new InsertDimensionRequest();
insertRow.setRange(new DimensionRange().setDimension("ROWS").setStartIndex(0).setEndIndex(1).setSheetId(sheetId));
PasteDataRequest data = new PasteDataRequest().setData("Data").setDelimiter("\t")
.setCoordinate(new GridCoordinate().setColumnIndex(0).setRowIndex(0).setSheetId(sheetId));
BatchUpdateSpreadsheetRequest r = new BatchUpdateSpreadsheetRequest().setRequests(Arrays.asList(
new Request().setInsertDimension(insertRow),
new Request().setPasteData(data)
));
BatchUpdateSpreadsheetResponse response = this.mService.spreadsheets().batchUpdate(SHEET_ID, r).execute();