I have a code in which it should automatically generate new rows and add new data in certain columns for each row. The data is successfully inserted however it will not generate the correct number of rows that I passed to the google apps script. I tried different ways but still same result. Can anyone help me find out what is the issue? Here the code
function addNewRows(numRows, prefix) {
var spreadsheet = SpreadsheetApp.openByUrl('your spreadsheet url');
var sheet = spreadsheet.getSheetByName('Sheet Name');
var lastRow = sheet.getLastRow();
var latestNumRows = 0;
latestNumRows = lastRow + 1;
var data = [];
for (var i = 0; i < numRows; i++) {
// Generate UniqueID
var uniqueId = generateUniqueId();
// Generate No Dokumen
var noDokumen = generateNoDokumen(latestNumRows, prefix);
// Generate Bulan
var bulan = generateBulan();
// Set Status
var status = "Planned";
// Push data to array
data.push([uniqueId, noDokumen, bulan, status]);
latestNumRows++;
// Exit loop if numRows is reached
if (data.length >= numRows) {
break; }
}
// Add new rows with data
if (data.length > 0) {
// Define column indexes
var uniqueIdColumnIndex = 1;
var noDokumenColumnIndex = 3;
var bulanColumnIndex = 6;
var statusColumnIndex = 77;
// Set values for each column
for (var row = 0; row < data.length; row++) {
sheet.getRange(lastRow + row + 1, uniqueIdColumnIndex).setValue(data[row][0]);
sheet.getRange(lastRow + row + 1, noDokumenColumnIndex).setValue(data[row][1]);
sheet.getRange(lastRow + row + 1, bulanColumnIndex).setValue(data[row][2]);
sheet.getRange(lastRow + row + 1, statusColumnIndex).setValue(data[row][3]);
}
}
}
// Function to generate UniqueID
function generateUniqueId() {
var characters = '0123456789abcdef'; // Available characters for the ID
var uniqueId = '';
for (var i = 0; i < 8; i++) {
var randomIndex = Math.floor(Math.random() * characters.length);
uniqueId += characters[randomIndex];
}
return uniqueId;
}
// Function to generate No Dokumen
function generateNoDokumen(rowNumber, prefix) {
// Generate document number based on row number and prefix
return prefix + "-Monthly-" + (70000 + (rowNumber-1));
}
// Function to generate Bulan (Month-Year)
function generateBulan() {
var date = new Date();
var month = date.getMonth() + 1;
var year = date.getFullYear();
return month + "-" + year;
}
Here the screenshot from bot automation: