Java Google Sheet API。将数据附加到特定工作表

时间:2018-06-13 10:52:39

标签: java google-sheets google-sheets-api

我想将数据附加到3个不同的表格(使用Java和Google Sheet API)。

例如,“我喜欢海龟”到第一张sheetId为1的纸张,“123”到第二张纸张,其中sheetId是2,第二张纸张的任何范围是sheetId是3.如何追加该数据?更重要的是,如何从工作表中获取sheetId并设置活动工作表?或任何其他方式来做到这一点。有任何建议或可能的例子吗?

谢谢。

1 个答案:

答案 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()

希望这有帮助!