如何使用RubyGem重新安排excel表?

时间:2014-05-05 14:01:33

标签: ruby ruby-on-rails-4 axlsx

我正在使用Axlsx gem创建Excel工作表。

应用Ruby Thread后,

工作表名称位置出错。

例如:

我希望以这种方式订购单张

sheet 1
sheet 2
sheet 3

但是在应用ruby线程之后

sheet 2
sheet 1
sheet 3

如何保持表单顺序?

1 个答案:

答案 0 :(得分:0)

这将基于您的RubyFiddle示例

arr = (1..10).map do |i|
  Thread.new{
     sleep(rand(0)/10.0)
     Thread.current["mycount"] = count
     count += 1
  }
end
arr.each do |t| 
  t.join
  puts "#{t['mycount']}"
end
    #24
    #28
    #29
    #26
    #23
    #22
    #25
    #21
    #27
    #20

arr.sort_by{|t| t["mycount"]}.each do |t| 
  t.join
  puts "#{t['mycount']}"
end
   #20
   #21
   #22
   #23
   #24
   #25
   #26
   #27
   #28
   #29

或者更好,尽管可能不适用于导出电子表格的完整解决方案

arr.sort_by(&:value).each(&:join)