格式化数组以提供给Smash Table Widget

时间:2017-11-01 12:06:51

标签: arrays ruby raspberry-pi widget dashing

我正在创建一个Smashing仪表板,需要将信息从xlsx文件提供到仪表板上的表格中。该系统在Raspberry Pi上运行。

我可以使用roo gem从电子表格中读取,这很好用。但是,表格小部件仅接受

形式的数据
[
    {:cols=>[
        {:class=>"left", :value=>"Office", :style=>"color: #FFFFFF"}, 
        {:class=>"left", :value=>"Aberdeen"}, 
        {:class=>"left", :value=>"Australia"}, 
        {:class=>"left", :value=>"Eurocentral"}, 

        ]
    }, 
    {:cols=>[{:class=>"left", :value=>"Number", :style=>"color: #FFFFFF"}, 
        {:value=>"1234"}, 
        {:value=>"5454"}, 
        {:value=>"9999"}
        ]
    }
]

我不确定如何以这种格式形成数组。我试图遍历列中的单元格并将它们放入一个数组中,然后将这些列数组推送到一个行数组中。下面是我写的代码,它远远不够。

i = 0
    maxRows = is.last_row
    maxCols = is.last_column

    rows = [] 

    #Loop from the first row to the last
    loop do


        #Break out of the loop if we're done
        if (i > maxRows)
            break
        end


         #Put the row into the array as a new row

        j = 0
        cols = [] 
        loop do
            cols[j] = "{:value=> #{is.cell(i,j)}}"
            j +=1 

            if (j > maxRows)
                break
            end



        end

        #rows.push(cols)



    end

我很感激有关此事的任何帮助。我需要阅读的资源,我明显没有意识到的程序或类似的程序。

1 个答案:

答案 0 :(得分:0)

让这个工作变得非常痛苦,但我最终到了那里。

只是因为任何人通过谷歌遇到这个。

所需格式是一个在每个索引处包含新哈希的Array,每个哈希都有一个cols键,其中包含一个数组,其中每个索引都是表中的一列。它们还包含在一个哈希中,该哈希包含用于呈现表的各种键。