2017-10-22 18 views
0

Google App Engineでは、Googleのシートテーブルの上部に行(新しい料理注文情報付き)を追加します。 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/appendのドキュメントから、私はテーブルの一番下に追加できるように思えます。しかし、私は本当にTOPから新しい行を追加する必要があり、それは不可能だとは思わない。
私はこのコードを使用して、一番下に行を追加することができました:GoogleスプレッドシートAPI - テーブルのTOPに新しい行を追加するにはどうすればいいですか?(Android)

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

は、それがテーブルの上に行を追加することは可能ですか?どうやって?ありがとう!

答えて

0

threadを参照してください。場合

あなたがトップ(最初の行)に新しい行を追加する必要があり、最初の一番上の行から 式をコピーした場合、あなたは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); 
} 

また、このスレッドをチェックすることがあります。Having new entries show up top in google sheets.

0

は、これは私が新しい行を挿入するために使用するものです。行を作成し、貼り付けコマンドを使用してデータを設定し、1回のHTTPラウンドトリップですべてを実行できるようにします。または、必要に応じて2番目のリクエストを使用してデータを更新することもできます。 [貼り付け]コマンドで行を挿入できるかどうかはわかりませんが、これは機能します。

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(); 
関連する問題