我想将数据附加到3个不同的表格(使用Java和Google Sheet API)。
例如,“我喜欢海龟”到第一张sheetId为1的纸张,“123”到第二张纸张,其中sheetId是2,第二张纸张的任何范围是sheetId是3.如何追加该数据?更重要的是,如何从工作表中获取sheetId并设置活动工作表?或任何其他方式来做到这一点。有任何建议或可能的例子吗?
谢谢。
答案 0 :(得分:1)
您可以参考此link来了解如何将数据附加到特定工作表。
如果您只想在工作表上书写,请按照Basic Writing Sheets guide进行操作。您可以使用PUT方法在工作表上书写:
PUT https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:D5?valueInputOption=USER_ENTERED
并指定工作表和单元格范围的名称,如:
{ "range": "Sheet1!A1:D5", "majorDimension": "ROWS", "values": [ ["Item", "Cost", "Stocked", "Ship Date"], ["Wheel", "$20.50", "4", "3/1/2016"], ["Door", "$15", "2", "3/15/2016"], ["Engine", "$100", "1", "30/20/2016"], ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"] ], }
关于您的
spreadsheets.values.append
问题,我确定您已经阅读了文档的内容:将值附加到电子表格。输入范围用于搜索现有数据并查找"表"在这个范围内。值将附加到表的下一行,从表的第一列开始。
这仅适用于在表格的最后一行添加。
同样来自page:
尝试以下脚本,看看它是否适合您:
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; // This represents ALL the data var range = sheet.getDataRange(); var values = range.getValues(); // This logs the spreadsheet in CSV format with a trailing comma for (var i = 0; i < values.length; i++) { var row = ""; for (var j = 0; j < values[i].length; j++) { if (values[i][j]) { row = row + values[i][j]; } row = row + ","; } Logger.log(row); }
此应用脚本可帮助您将数据从一个电子表格传输到另一个电子表格。有关详细信息,请参阅文章
getDataRange()
。
希望这有帮助!