Мне кажется, что самый простой способ сделать это -
import datetime
epoch = datetime.datetime.utcfromtimestamp(0)
def unix_time_millis(dt):
return (dt - epoch).total_seconds() * 1000.0
Если мое понимание верно, как насчет этой модификации? Я думаю, что есть несколько ответов для вашей ситуации, поэтому, пожалуйста, подумайте об этом как об одном из них.
Процесс этого модифицированного сценария выглядит следующим образом.
google.script.run
запустите функцию getValuesFromSpreadsheet()
на стороне скрипта Google Apps. getValuesFromSpreadsheet()
значения извлекаются из электронной таблицы и возвращаются в Javascript. withSuccessHandler()
возвращенные значения извлекаются. Используя значения, создается поле выбора. selected()
и извлекается выбранное значение. Когда вышеуказанный поток отражается, модифицированный скрипт выглядит следующим образом.
Добавьте следующий скрипт Google Apps в CustomMenu.gs
.
function getValuesFromSpreadsheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
return sheet.getRange(1, 1, sheet.getLastRow(), 1).getValues(); // Retrieve values and send to Javascript
}
Пожалуйста, добавьте следующий Javascript в NewComponentForm.html
.
<script>
function loadManufacturers() {
google.script.run.withSuccessHandler(function(ar) {
let select = document.createElement("select");
select.id = "select1";
select.setAttribute("onchange", "selected()");
document.getElementById("myDropdown").appendChild(select);
ar.forEach(function(e, i) {
let option = document.createElement("option");
option.value = i;
option.text = e;
document.getElementById("select1").appendChild(option);
});
}).getValuesFromSpreadsheet();
};
function selected() {
const value = document.getElementById("select1").value;
console.log(value);
}
</script>
google.script.run
для извлечения значений из электронной таблицы. withSuccessHandler
, получите значения из Google Apps Script. Если я неправильно понял ваш вопрос, извините.