Как заставить Google Script читать отображаемое значение ячейки листа? Вместо этого он продолжает возвращать какую-то слJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как заставить Google Script читать отображаемое значение ячейки листа? Вместо этого он продолжает возвращать какую-то сл

Сообщение Anonymous »

Я пишу скрипт, который будет считывать значение ячейки в зависимости от того, какой сейчас час и какой день.
Этот лист выглядит так:
лист выглядит так это:
Но всякий раз, когда я пытаюсь получить доступ к этим ячейкам, вместо этого мне возвращается дата:
результат журнала отладки
Я уверен, что устанавливаю правильный столбец и строка, потому что в моем предыдущем журнале так сказано:
номера столбцов и строк перед отправкой в ​​функцию получения значения ячейки
TL;DR: поэтому я подозреваю, что что-то не так с функцией, которую я вызываю самой последней, то есть «getSheetValues». Это должно быть что-то другое, не так ли? Но я понятия не имею, почему мне возвращаются даты.
Это мой основной код, который я вызываю:

Код: Выделить всё

function myFunction() {
// check hour
var d = new Date();
var godz = d.getHours();

// add 1 hour in case of hour being a little to early.
// script runs at exact shift start times, so due to how getHours work, it could be 1 hour too early.
// var godz = 17;

console.log('Current Hour:');
console.log(godz);

var currentShift = 0;
console.log('CurrentShiftStart:');
console.log(currentShift);

// set shift number based on hour
if (godz === 9 || godz === 10) {
currentShift = 1;
console.log('yes1');
} else if (godz === 11 || godz === 12) {
currentShift = 2;
console.log('yes2');
} else if (godz === 13 || godz === 14) {
currentShift = 3;
console.log('yes3');
} else if (godz === 15 || godz === 16) {
currentShift = 4;
console.log('yes4');
}
console.log('CurrentShiftFinal:');
console.log(currentShift)

// collect data using extractor
var values = dataCollector(14, currentShift);
Logger.log('Extracted values from the sheet:')
Logger.log(values);
А это код извлечения отображаемого значения ячейки, который вызывается в приведенном выше коде:

Код: Выделить всё

const sheet_id = 15

function dataCollector(sheet_id, shift_number) {

//access the workbook
const wb = SpreadsheetApp.openById('1ZJGMd7_CeuA4lIPceHK5Q8sd4GNpQvAmp10Tty7BuWs');
Logger.log('Loaded Spreadsheet name is:')
Logger.log(wb.getName());

// access all the sheets in the workboook
var sheets = wb.getSheets();
var sheetName = sheets[sheet_id].getSheetName();

// Use the direct name of the sheet in the workbook.
var dataSheet = wb.getSheetByName('Queue Manager Schedule');

// loop through the sheets

// for(i in sheets) {
//   // conditional to evaluate the sheet ids
//   if(sheets[i].getSheetId() == sheet_id) {
//     // collect the sheet name
//     var sheetName = sheets[i].getSheetName();
//   }
// }

// access the sheets with the data
//  var dataSheet = wb.getSheetByName(sheetName);

// set the proper row depending on which shift during the day it is.
// rows are 4-7, so 1st shift is going to be row number 4.
// therefore, add number 3 to the shift_number given in the function
var shift_number = shift_number + 3;
console.log('Shift Number and thus row number declared:');
console.log(shift_number);

// set the proper column depending on what day it is.
// Monday starts on columm number 2 ("B")
// get which day it is, and add number 1 to get proper column
var today = new Date();
var dayOfWeek = today.getDay();
var dayOfWeek = dayOfWeek + 1;
console.log('Day of the week and thus column declared:')
console.log(dayOfWeek);

// extract of our data
Logger.log('Sheetname:')
Logger.log(sheetName)
Logger.log('DataSheet:')
Logger.log(dataSheet);
//
// convert shift number into an integer...
var newshift = Number(shift_number);

var valuez = wb.getSheetValues(shift_number, dayOfWeek, 1, 1);
Logger.log('Cell value:')
Logger.log(JSON.stringify(valuez))
return valuez

}

Я ожидал возврата значения в указанной ячейке. Но вместо этого я получаю некоторую дату по умолчанию для листа. За последние несколько дней я пробовал просматривать разные ответы и разные функции, но не смог получить должного результата.

Подробнее здесь: https://stackoverflow.com/questions/793 ... l-it-keeps
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»