使用setInterval迭代google电子表格

时间:2018-06-01 17:13:57

标签: javascript setinterval google-spreadsheet-api tabletop.js

我在google电子表格中有4行,并希望每1小时一次迭代1行。此代码目前有效,但同时发布所有四个代码。我如何每小时1次并使其连续?

func SetWord(addr uint32, data uint16) {
    initial := 0
    for i := 0; i < 2; i++ {
        memoryPointer[addr + uint32(i)] = uint8((data >> uint32(initial)) & 0xff)
        initial += 8
    }
}

1 个答案:

答案 0 :(得分:0)

根据TableTop文档(字面意思在readme of the repo中),使用simpleSheet: true,您可以从工作簿的第一张表中为回调函数提供一系列行。

您的代码:

callback: (data, tabletop) => {
  data.forEach(d =>

因此指示处理该工作表上的每一行。

要在每次执行callback时只调用一行函数,您需要定义一些其他范围的变量 - 让我们称之为rowIndex。您应该在加载僵尸服务器时初始化此变量,然后在callback中对其进行增量和边界检查。

var rowIndex = 0;

var link = () => {
    Tabletop.init({
        key: spreadsheetUrl,
        callback(data, tabletop) {
            if (!data.length) { return; } // Guard against empty spreadsheet
            // Wrap around here, in case new messages were added or deleted since the last invocation.
            rowIndex = rowIndex % data.length;
            var d = data[rowIndex];
            /**
             * Code to call for just this array element `d` (read: row)
             */
            // Increment the state variable so next call is a different row.
            ++rowIndex;
        }, // End callback definition
        simpleSheet: true
   });
};