我已經在谷歌表格中創建了一個資料輸入表格,現在我無法將所述條目保存到外部表格中,這就是我所擁有的,我不知道我是否使用了正確的方法來參考表格。
請看評論,謝謝
每次我嘗試提交表單時,它都會給 lastRow Null

function submitData() {
//variable declaration for referenceing the active google sheet
var myGoogleSheet = SpreadsheetApp.getActiveSpreadsheet();
var shUserForm = myGoogleSheet.getSheetByName('MasterSheet');
//open external sheet
var extSS = SpreadsheetApp.openById("1U9SmfPCH9v8maqh6XL0dmRL85TJZfckUV7SAEGM3pQo");
var datasheet= extSS.getSheetByName("Mastersheet");
var srcData = shUserForm.getDataRange().getValues();
//to create the instance of the ui environment to use the alert features
var ui = SpreadsheetApp.getUi();
var response = ui.alert("Submit", "Do you want to submit the data?", ui.ButtonSet.YES_NO);
//checking the user response
if ( response == ui.NO) {
return; // to ext from this function
}
if ( validateEntry()== true) {
var blankRow =datasheet.getLastRow() 1; //identify the next blank row
//'code to update the database sheet ( write data entry to DB sheet)
datasheet.getRange(blankRow,1).setValue(srcData.getRange("C7").getValue()); //input number
datasheet.getRange(blankRow,2).setValue(srcData.getRange("C9").getValue()); //Department
datasheet.getRange(blankRow,3).setValue(srcData.getRange("C11").getValue()); //Agent Name
datasheet.getRange(blankRow,4).setValue(srcData.getRange("C13").getValue()); //Hub location
datasheet.getRange(blankRow,9).setValue(srcData.getRange("C15").getValue()); //order ID
datasheet.getRange(blankRow,10).setValue(srcData.getRange("C20").getValue()); //type of entry
datasheet.getRange(blankRow,5).setValue(Session.getActiveUser().getEmail()); //Submitted By, this will automatically get user email
datasheet.getRange(blankRow,7).setValue(new Date()).setNumberFormat('yyyy-mm-dd h:mm:');
datasheet.getRange(blankRow,8).setValue(new Date()).setNumberFormat('yyyy-mm-dd h:mm:');
datasheet.getRange(blankRow,6).setValue(srcData.getRange("C17").getValue()); //comments
ui.alert(' "New Data Saved - Input #' shUserForm.getRange("C7").getValue() '"');
shUserForm.getRange("C7").clear();
shUserForm.getRange("C9").clear();
shUserForm.getRange("C11").clear();
shUserForm.getRange("C13").clear();
shUserForm.getRange("C15").clear();
shUserForm.getRange("C17").clear();
}
}
uj5u.com熱心網友回復:
要將資料保存到另一個電子表格,您需要先使用openById("insert sheet id here")或將其打開openByUrl("insert sheet URL here")。這將回傳一個電子表格類,該類具有getSheetByName("sheet name")可用于訪問作業表的方法。
可以在 url 中找到電子表格的 ID。這可以在 /d/ 之后或 /edit 之前找到
示例 ID:
https://docs.google.com/spreadsheets/d/12345/edit#gid=0
12345是電子表格 ID
例子:
代碼:
function saveData() {
//open current sheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("Sheet1");
//open external sheet
var extSS = SpreadsheetApp.openById("Insert External Spreadsheet ID here");
var extSH = extSS.getSheetByName("Sheet1 External");
//get data from current Sheet.
var srcData = sh.getDataRange().getValues();
//write to external sheet
extSH.getRange(extSH.getLastRow() 1, 1, srcData.length, srcData[0].length).setValues(srcData);
}
此腳本會將值從Sheet1粘貼到Sheet2
前:
Sheet1 資料:

Sheet2 資料:

后:
Sheet1 資料:

Sheet2 資料:

- SpreadsheetApp.openByID()
- SpreadsheetApp.openByURL()
- Spreadsheet.getSheetByName()
- 課表
- 班級范圍
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/363231.html
上一篇:useState不會呈現頁面
