У меня есть лист, который добавляет несколько тысяч значений в день. Чтобы он был маленьким и гибким, он регулярно хранит строки данных в виде значений, разделенных запятыми, на отдельном листе. Я перебираю каждую строку с помощью toString () во всех ячейках.
При извлечении и повторной печати необходимых данных на новом листе листы не распознают строки как даты. например, пт 29 марта 2019 13:45:06 GMT-0700 (PDT)
Мой обходной путь - это нарезка строк при их извлечении, мне просто интересно, почему они не распознают стандартные строки даты как даты.
function compressData() {
var sheet = SpreadsheetApp.getActiveSheet();
var arr = sheet.getRange(1,1,2,2).getValues();
var arrNew = [];
var arrRow =[];
var arrExpanded;
for (var i in arr) {
for (var x in arr[i]) {
arrRow.push(arr[x][i]);
}
arrNew.push([arrRow[i].toString()]);
}
// stores each row of the original array as a
// comma separated string in a new array
sheet.getRange(1, 3, arrNew.length, arrNew[0].length).setValues(arrNew);
// writes the new array to a new range
}
function expandData(){
// prints the arrays onto a new range and the new date
// cell isn't recognized as a date
var arrExpanded = [];
var sheet = SpreadsheetApp.getActiveSheet();
var arrCompressed = sheet.getRange(1,3,2,1).getValues();
for (var i in arrCompressed) {
var arrTemp = arrCompressed.toString().split(',');
arrExpanded.push(arrTemp);
}
// rebuilds the 2d array
sheet.getRange(1, 4, arrExpanded.length, arrExpanded[0].length).setValues(arrExpanded);
}